C++类基础

结构
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.析构函数

作用:清理和释放资源
当一个自动变量离开其作用域时,当一个位于自由存储的对象删除时,还有在其他类似情况中,析构函数都被隐式地调用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值