C++_练习—继承_构造初始化列表

构造初始化列表


 

构造对象成员的顺序跟初始化列表无关,跟定义顺序有关

 

复制代码
 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 class info {
 6 public:
 7     info(int a) {
 8         age = a;
 9         cout << age << endl;
10         cout << "构造函数,自动调用" << endl;
11      }
12 
13     ~info() {
14         cout << "析构函数,自动调用" << endl;
15     }
16 
17 private:
18     int age ;
19 };
20 
21 class info1 {
22 public:
23     info1(int ag, info& a, info & b):info1_A(a), info1_B(b){   // 构造对象成员的顺序跟初始化列表无关 !!
24         info1_age = ag;
25         cout << "info1 构造函数" << endl;
26     }
27 
28     ~info1(){
29         cout << "析构函数,自动调用" << endl;
30     }
31 
32 
33 private:
34     int info1_age;
35     info info1_A;
36     info info1_B;  // 跟定义顺序有关!!
37 };
38 
39 
40 int main(void) {
41 
42 
43     info a(1), b(2);
44 
45     info1 info_(1,a,b);  // 创建之前必须先构造两个info对象!
46 
47     system("pause");
48 
49     return 0;
50 }
复制代码

 

笔记


 

posted @   panda_w  阅读(648)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示