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

猜你喜欢

转载自blog.csdn.net/cl2010abc/article/details/80655070