C++选择题练习(一)

下⾯程序的运⾏结果是什么(D)

A.输出1 1

B.输出2 2

C.编译报错

D.输出1 随机值

E.输出1 2

F.输出 2 1

#include<iostream>

using namespace std;

class A

{

public:

A(int a)

:_a1(a)

, _a2(_a1)

{}

void Print()

{

cout <<_a1 <<" " <<_a2<< endl;

}

private:

int _a2 = 2; //声明

int _a1 = 2;

};

int main()

{

A aa(1);

aa.Print();

}
分析:首先拿1调用构造函数A(int a)直接初始化aa,初始化aa时,由于是初始化列表,初始化顺序是看声明顺序,先声明的先初始化, _a2先被声明,那么先初始化_a2,拿此时aa对象中还未被初始化的_a1随机值去初始化_a2,接着拿a的值1去初始化_a1。注意,与构造函数相比,构造函数的初始化顺序是先定义的先初始化

相关推荐
aramae6 分钟前
MySQL内置函数(7)
开发语言·笔记·后端·mysql·其他
汉克老师1 小时前
CSP-J 2026 初赛试题解析(第一部分:选择题(8-15))精讲
c++·csp-j·小学生·学c++编程
wabs6661 小时前
关于二叉树【力扣572.另一棵树的子树的思考】
数据结构·c++·算法·leetcode·二叉树
风合星语2 小时前
2026 ROS 2 Lyrical C++ 入门(五):Action 实战——任务反馈、取消与超时处理
c++·机器人·ros2·异步编程·lyrical
91刘仁德3 小时前
C++ 继承和多态 设计模式
c语言·c++·笔记
码行山野赴时序归途3 小时前
链表家族收官篇:循环链表
c语言·开发语言·数据结构·链表
景熙55233 小时前
单体项目编写思路和落地形式
java·开发语言
库玛西4 小时前
哈夫曼树与前缀编码:数据压缩的贪心核心
c语言·c++·笔记·考研
别动我齐刘海4 小时前
ROS2 Jazzy + C++ 实战路线——进阶学习3
c++·人工智能·vscode·python·算法·机器学习·机器人
0+1114 小时前
算法 --滑动窗口
c++·算法·leetcode