1.类中的常成员函数
常成员函数声明方式为
void add(int a) const;为在函数后面加const关键字,在c++中,常成员函数与常量class有很多关系。为了保证class里的成员是只读的,所以常class对象只能调用常成员函数。
所以当声明一个如下的类时:
class M{ public: int a; void fun(int a)const; void fun(int a); } M a; const M b; a.fun(1); //调用void fun(int a) b.fun(1); //调用void fun(int a)const
2.构造函数使用冒号为成员获取初始值
如果要使用构造函数对const类型,引用类型,对象数据成员赋初值。则不能把赋值写在{}里面,因为当进入{}时成员的空间已经分配完成,就不能对其进行改变了。而使用:符号则可以在分配空间时对其进行赋值,就无此问题。
class myClass{ public: myClass(int a, int b); private: const int data; int # } //这种赋值是编译不能通过的 myClass::myClass(int a, int b) { data = a; num = b; } //若在类中把构造函数改造成如下则可以通过 myClass(int a,int b):data(a),num(b){};