当前位置: 首页 > news >正文

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;}
}
http://www.xdnf.cn/news/610705.html

相关文章:

  • 【鼎的3D设计与AI提示词方案】
  • echarts之双折线渐变图
  • 独木桥 Java
  • 基于SpringBoot+Vue的社区医院信息平台设计与实现
  • 软考中级软件设计师——计算机系统篇
  • STM32+腾讯物联网平台OTA升级详细教程
  • 华为OD机试_2025 B卷_爱吃蟠桃的孙悟空(Python,100分)(附详细解题思路)
  • 从逆流监测到智慧用电:ADL200N-CT系列单相导轨表赋能家庭绿色能源
  • ubuntu设置开机不输密码笔记
  • 解决Vue项目依赖错误:使用electron-vite重建
  • 提升开发运维效率:原力棱镜游戏公司的 Amazon Q Developer CLI 实践
  • 使用clickhouse的ReplacingMergeTree引擎表做活跃玩家信息表
  • Unity 打包程序全屏置顶无边框
  • 宽松相等(==) 的转换规则(仅考虑基本数据类型)
  • 怎么判断一个Android APP使用了Ionic这个跨端框架
  • 智能交通红绿灯系统(Python)
  • TCP 三次握手,第二次握手报文丢失会发生什么?
  • IP隧道技术中数据包头部的变化分析:必然增加的封装机制
  • (15)关于窗体的右键菜单的学习与使用,这关系到了信号与事件 event
  • 特殊的完全平方数
  • 【MySQL】 数据库基础数据类型
  • 【c++】: c++11线程库
  • 【Hexo】3.主题
  • Kafka 集群中,Broker和Controller的关系
  • TPDS-2014《Efficient $k$-means++ Approximation with MapReduce》
  • Python匿名函数(lambda)全面详解
  • 黑马k8s(十三)
  • 【机械视觉】Halcon—【二、Halcon算子全面介绍(超详细版)】
  • 免费AI工具整理
  • HarmonyOS NEXT 使用 relationalStore 实现数据库操作