• c++基础(八)——类对象作为类成员


    一、对象成员

    c++类中的成员可以是另一个类的对象,可以称该成员为对象成员
    具体样例如下:

    class A{}
    class B
    {
    	A a;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    B类中有对象A作为成员,A为对象成员

    二、应用案例

    class clone
    {
    public:
    
    	clone(string name)
    	{
    		z_name = name;
    		cout << "clone构造函数调用" << endl;
    	}
    
    	//品牌
    	string z_name;
    	~clone()
    	{
    		cout << "clone析构函数调用" << endl;
    	}
    };
    
    
    class person
    {
    public:
    
    
    	//clone C_name = Cname;
    	person(string Pname, string Cname):m_name(Pname),C_name(Cname)
    	{
    		cout << "person构造函数调用" << endl;
    	}
    	//姓名
    	string m_name;
    	//衣服
    	clone C_name;
    	~person()
    	{
    		cout << "person析构函数调用" << endl;
    	}
    };
    
    void test3()
    {
    
    	person p1("REN", "LINING");
    	cout << "name:" << p1.m_name << endl;
    	cout << "Cname:" << p1.C_name.z_name << endl;
    
    
    }
    int main()
    {
    
    
    
    	test3();
    
    	system("pause");
    	return 0;
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59

    y以上的代码输出为:

    clone构造函数调用
    person构造函数调用
    name:REN
    Cname:LINING
    person析构函数调用
    clone析构函数调用
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    从上述的输出我们可以看出,当创建类的对象的时候,作为类成员的对象先建立,在建立类本身。换句话说,先构建组成这一对象的所有元素,当这些零件构造完成之后,将这个零件拼凑成一个整体,形成一个最终的对象。
    当释放对象时,先将对象整体释放,再讲组成这一对象的零件进行释放。与构建对象时想法。
    这就是类作为对象成员时的基本应用以及相关的构造释放流程。

  • 相关阅读:
    在OpenCloudOS使用snap安装.NET 6
    Huggingface开源模型使用学习
    一张图把DCDC电源拓扑“融会贯通”
    【2023最新版】DataGrip使用MySQL教程
    iloc函数使用方法
    可用来文本 图片 音频 控制生成 图像 的网络结构
    sql中怎么查books表下面的内容
    正点原子linux应用编程——入门篇1
    @vue/cli脚手架的安装
    flutter学习之widget的显示和隐藏
  • 原文地址:https://blog.csdn.net/qq_52302919/article/details/126651235