结构
class X { ... }; 被称为一个类定义
1.构造函数
class Date {
//...
Date(int, int , int); // 构造函数
}
Date today = Date(23, 6, 1983);
Date xmas(25, 12, 1900); // 简写形式
class Date {
int d, m, y;
static Date default_date;
public:
Date(int dd = 0, int mm=0, int yy=0);
};
Date:Date(int dd = 0, int mm=0, int yy=0)
{
d = dd?dd:default_date.d;
m = mm?mm:default_date.mm;
y = yy?yy:default_date.yy;
}
注意:静态成员--包括
函数和
数据成员,都
必须在某个地方另行定义。
Date Date::default(4, 5, 1945);
默认构造函数
1.自动生成的默认构造函数将隐式地为类类型的成员和它的基类调用有关的默认构造函数
2.包含const或引用成员的类不能进行默认构造
成员的构造函数将在容器类本身的构造函数执行前首先执行,按照成员在类中的
声明顺序执行
2.复制构造函数
X::X(const X&);
3.常量成员函数
class Date {
int d;
public:
int day() const;
};
int Date::day()
const // 此const不能缺,必须写上,const也是Date::day() 的类型的一部分
{
return d;
}
在函数声明的寒暑表后面加上const,表示此函数不会修改Date的状态。
4.析构函数
作用:清理和释放资源
当一个自动变量离开其作用域时,当一个位于自由存储的对象删除时,还有在其他类似情况中,析构函数都被隐式地调用
26万+

被折叠的 条评论
为什么被折叠?



