C++:类的设计————构造与析构函数及其动态内存管理

构造与析构函数1.构造与析构函数的意义创建对象是往往需要初始化,但是对象不可以直接访问私有成员,因此C语言中直接赋值的初始化方法行不通,于是C 使用构造函数进行对象的初始化操作。 构造函数的原型声明在public中,名称与类名一致,即:class class_name{ private: .. public: class_name();};C 规
摘要由CSDN通过智能技术生成

构造与析构函数

1.构造与析构函数的意义

创建对象是往往需要初始化,但是对象不可以直接访问私有成员,因此C语言中直接赋值的初始化方法行不通,于是C++使用构造函数进行对象的初始化操作。
构造函数的原型声明在public中,名称与类名一致,即:

class class_name{
    private:
        ..
    public:
        class_name();

};

C++规定,如果程序员不自定义构造函数,会给出一个默认的构造函数(需要注明的是构造函数没有声明类型),默认的构造函数没有任何功能,还需要程序员添加相应的操作。
例如下面这个类:

class Bank
{
   
    private:
        int client;
        double money;
    public:
        Bank();//default
        Bank(int c,double m);
        ~Bank();
};
Bank::Bank()
{
    client = 0;
    money = 0.0;
}

注意到上述例子中,有Bank()的一个重载版本Bank(int c,double m),这也是一个构造函数,是程序员自定义的,带有参数列表,这样,我们在创建新的对象的时候,就可以这样写:

Bank bank1;//不初始化调用默认构造函数
Bank bank2(500,1000.0);//隐式的使用Bank(int c,double m)
Bank bank3 = Bank(200,50.0);//显式的使用Bank(int c,double m)

有意思的是,如果类的声明仅仅给出了B

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值