欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > C++成员对象和封闭类

C++成员对象和封闭类

2025/5/24 9:59:01 来源:https://blog.csdn.net/weixin_42831406/article/details/148175664  浏览:    关键词:C++成员对象和封闭类

C++成员对象和封闭类详解

  在C++中,成员对象是指一个类的成员变量,它本身是另一个类的对象。封闭类是包含这些成员对象的类。理解两者的关系和行为,对于构造函数、析构函数、初始化顺序以及内存布局等方面的理解非常重要。


1. 成员对象和封闭类的基本概念

成员对象
  • 是一个类的成员变量,但类型是一个类。
  • 通常用于实现组合(composition)关系。
  • 在封闭类的生命周期中,成员对象的构造函数和析构函数被自动调用。
封闭类
  • 是包含成员对象的类。
  • 封闭类的构造函数负责调用成员对象的构造函数,析构函数负责调用成员对象的析构函数。

2. 成员对象的构造与析构

a. 构造顺序
  • 成员对象在封闭类的构造函数执行之前初始化。
  • 成员对象的初始化顺序与它们在类中声明的顺序一致,与初始化列表中的顺序无关。
#include <iostream>
class Member {
public:Member(int x) { std::cout << "Member Constructor: " << x << std::endl; }~Member() { std::cout << "Member Destructor" << std::endl; }
};class Container {Member m1;Member m2;
public:Container() : m2(20), m1(10) { // 初始化列表顺序与声明顺序不同std::cout << "Container Constructor" << std::endl;}~Container() {std::cout << "Container Destructor" << std::endl;}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词