c++类成员对象

成员对象

成员对象:当一个类的成员是另一个类的对象时,这个对象就叫成员对象。

成员对象的构造与析构

1、出现成员对象时,如果成员对象的构造函数是有参构造函数,则该类的初始化列表需要对成员对象进行初始化。

class Member
{
  private:
    int i;
  public:
    Member(int i)
    {
        this->i = i;
    }
};

class Test
{
  private:
    Member member;
  public:
    Test(): member(1)
    {
    }
};

2、一个有成员对象的类实例化时要先调用成员对象的构造函数,然后再调用该类的构造函数,析构时先调用该类的析构函数,再调用成员对象的析构函数。

#include <iostream>

class Member
{
public:
    Member()
    {
        std::cout << "Member构造函数" << std::endl;
    }

    ~Member()
    {
        std::cout << "Member析构函数" << std::endl;
    }

};


class Test
{
private:
    Member member;
public:
    Test()
    {
        std::cout << "Test构造函数" << std::endl;
    }
    ~Test()
    {
        std::cout << "Test析构函数" << std::endl;
    }
};

int main()
{
    Test* test = new Test();
    delete test;

   return 0;
}

运行结果:

Member构造函数
Test构造函数
Test析构函数
Member析构函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值