北大 C++ 2.5 内联成员函数与重载成员函数

来源:互联网 发布:澳洲留学签证 知乎 编辑:程序博客网 时间:2024/06/05 14:39

内联成员函数与 重载成员函数

1. 内联成员函数

为了取消额外的调用开销

方法一:

inline + 成员函数

方法二:

整个函数体出现在类定义内部

class B{

      inline void func1();

      void func2(){

            …………

}; //这个分号有或者没有都没有关系。

};

 

void B::func1(){ …}

 

 

2. 重载成员函数

成员函数----带缺省值

 

 

 

#include<iostream>

using namespacestd;

class Location{

      private:

           int x,y;

      public:

           void init(int x =0, int y = 0);

           void valueX(int val){x = val;}

           int valueX(){return x;}

};

 

voidLocation::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;}

           void valueX(){return x;}

};

 

Location A;

A.valueX();  //会产生一个编译错误。因为编译器无法判断到底使用哪个valueX

0 0
原创粉丝点击