C++ - 成员函数的重载及内联成员函数

内联成员函数

  • inline+ 成员函数
  • 整个函数体出现在类定义内部
//B 定义了用了两个方式定义了两个内联成员函数,一个是用 inline+成员函数的方式,一个是讲整个函数体都定义在类定义的内部
class B{
    inline void func1();
    void func2()
    {
    };
};
void B::func1(){}

成员函数的重载及参数缺省

  • 重载成员函数
  • 成员函数 -- 带缺省参数
#include<iostream>
using namespace std;
class Location{
  private:
        int x,y;
  public:
    void init(int x = 0,int y = 0);
//重载函数 valueX
    void valueX(int val){x = val;}
    int valueX() {return x;}
}
void Location::init(int X,int Y){
    x = X;
    y = Y;
}
int main(){
  Location A;
  A.init(5);
  A.valueX(5);
  cout<<A.valueX();
  return 0 ;
}
  • 使用缺省参数时候要注意避免有函数重载时候的二义性
class Location{
  private:
      int x,y;
  public:
      void init(int x = 0,int y = 0);
    void valueX(int val = 0){x = val;}
    int valueX{return x;}
}
//调用
Location A;
A.valueX();//编译器无法判断调用哪个 valueX
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容