对于const或引用类型的类成员,唯一的初始化方式是在构造函数中使用成员函数初始化列表。构造函数体中的赋值语句是无效的
正确
#include<iostream>
using namespace std;
class Cbox{
const int a ;
int b ;
public:
int g ;
Cbox(int d,int e):a(d){b=e;cout<<"strat";}
~Cbox(){cout<<a<<" "<<b<<endl;}
};
int main(){Cbox a (,);
Cbox b(a);//跟 Cbox b=a; 结果一样 }
错误
#include<iostream>
using namespace std;
class Cbox{
const int a ;
int b ;
public:
int g ;
Cbox(int d,int e){a=d;b=e;cout<<"strat";}
~Cbox(){cout<<a<<" "<<b<<endl;}
}; int main(){Cbox a (,);
Cbox b(a);//跟 Cbox b=a; 结果一样 }