构造函数后面的冒号(:)是起到分割做用,是类中给成员变量赋值的方法,更适用于成员变量为常量const型的。类子
>Error(const char* theWhere,const char* theWhy):
>why(theWhy),where(theWhere){}
>protected:
const string why;
const string where;
冒号是把why 和 where 赋值,每次调用构造函数时把传进参数的值赋给它们,所以why(theWhy),where(theWhere)中的
theWhy 和构造函数中参数theWhy保持一致,同样theWhere和构造函数中参数theWhere保持一致

冒号还用于继承父类如:
class lzbb:public lzb;
lzb是父类,lzbb是子类;

基类和派生类的构造函数:
当调用派生类时首先会执行基类的构造函数,在执行派生类的构造函数,所以如果我们想给基类的构造函数的参数传值的话也可以用冒号!如:
基类的构造函数:lzb(int a){cout<派生类的构造函数:lzbb(int a,int b);
当我们开始调用基类构造函数,首先调用了lzb,那么我们可以给lzb中的a赋值
如下写法:lzbb::lzbb(int a,int b):lzb(a){cout<此时我们传如实参时首先会把a值赋值给lzb中的a,然后输出的b等于传入给b的实参值;
arrow
arrow
    全站熱搜

    Felix 發表在 痞客邦 留言(0) 人氣()