错题汇总10

文章讨论了C++中类构造函数的调用次数,数组和指针在初始化时的行为,以及初始化列表和成员变量的初始化顺序。同时,提到了尝试修改const常量的后果和编译错误。此外,还包含了两个编程题目,分别是井字棋游戏和密码强度等级的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.如果MyClass为一个类,执行”MyClass a[5], *b[6]”语言会自动调用该类构造函数的次数是

A 2
B 5
C 4
D 9

 

5个Myclass对象的一个数组,调用5次Myclass类的构造函数
b实际为一个指针数组,该数组中每个元素都是Myclass*,不会调用构造函数
2. 下面的程序输出可能是什么?
class Printer{
public:
Printer(std::string name) {std::cout << name;}
};
class Container{
public:
Container() : b("b"), a("a") {}
Printer a;
Printer b;
};
int main(){
Container c;
return 0;
}
A 可能是 "ab" 或 "ba"。 依赖于具体的实现
B 一直都是 "ba"
C 一直都是 "ab"

 

 在初始化列表中初始化成员的次序:与该成员在初始化列表中出现的次序没有关系,

                                                           真正的初始化次序与成员变量在类中生成的先后次序保持一致

3.以下程序输出是

#include <iostream>
using namespace std;
int main(void)
{
const int a = 10;
int * p = (int *)(&a);
*p = 20;
cout<<"a = "<<a<<", *p = "<<*p<<endl;
return 0;
}
A 编译阶段报错运行阶段报错
B a = 10, *p = 10
C a = 20, *p = 20
D a = 10, *p = 20
E a = 20, *p = 10

 

 &a类型:const int*

C++中被const修饰的变量:该变量已经是一个常量了,还具有替换的作用

编译器在编译代码,在程序中看到对常量内容读取时,会直接使用常量中的内容替换该常量

编程题:

1. 井字棋__牛客网

2.密码强度等级_牛客题霸_牛客网 

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值