http://blog.****.net/rainkin1993/article/details/8068558
#include<iostream>
using namespace std;
class Year{
int y;
static const int InitY; public:
Year()
{
y=InitY;
};
int year() const
{
return y;
};//const成员函数
void add_year(int i)
{
y=year()+i;
};
};
const int Year::InitY=;
int main()
{
Year y1; Year* const py1=new Year();
y1.add_year();
py1->add_year();
cout<<y1.year()<<','<<py1->year()<<endl;
return ;
}
如果加个const int bb的常数据成员,该怎样给它定义??
常数据成员,C++规定只能通过构造函数的成员初始化列表对常数据成员进行初始化。
如:
class Date{
Date(int y,int m,int d);
void showDate();
private:
const int year;
const int month;
const int day;
};
Date::Date(int y,int m,int d):year(y),month(m),day(d)
{}//采用成员初始化列表,对数据成员赋初值。
如以下形式的构造函数是错误的:
Date::Date(int y,int m,int d)
{
year=y; month=m;
day=d;
}
C++规定只能通过构造函数的成员初始化列表对常数据成员进行初始化。