C++成员变量初始化与构造函数

成员变量初始化与构造函数

构造顺序是根据成员列表的顺序开始初始化
析构时那个先构造,哪个先释放

#include <iostream>
using namespace std;
class demo
{
public:
    demo(){x= 0;cout<<"demo constructor.."<<x<<endl;}
    demo(int i){x = i;cout<<"demo constructor with one parameter.."<<x<<endl;}
    ~demo(){cout<<"demo constructor with one parameter.."<<x<<endl;}
    int get(){return x;}
    void set(int i){x = i;}
private:
    int x;
};
class rectangle
{
public:
    rectangle(){x = 1000;cout<<"rectangle constructor.."<<x<<endl;}
    rectangle(int i, int j ,int k):x(i),length(j),width(k){cout<<"rectangle constructor with three parameters.."<<length.get() * width.get()<<endl;}
    ~rectangle(){cout<<"rectangle destructor.."<<x<<endl;}
    int area(){return length.get() * width.get();}
private:
    int x;
    demo length;
    demo width;
};
int main()
{
    rectangle a(100,200,300);
    return 0;
}
Result:
demo constructor with one parameter..200
demo constructor with one parameter..300
rectangle constructor with three parameters..60000
rectangle destructor..100
demo constructor with one parameter..300
demo constructor with one parameter..200

在构造函数的初始化列表中赋值可以对const或者&引用赋值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值