1.C++ 中一个类可以同时继承多个基类,这种称之为多继承
2.从内存分配上看:程序为指针变量分配内存区域,而引用不需要分配内存区域
“sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小
指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作
3.设:char w; int x; float y; double z; 则表达式: w*x+z-y 值的数据类型是?
A.float
B.double
C.int
D.char
答案:B
解析:
1、C语言类型转换分级别,一般是:默认状态:低级向高级转换,级别高低从小到大为int、float、double,注意char只可以和int之间转换,char乘以int结果为整型,因为char也是一个整数,就是字符的ASCII码值
2、若要高级向低级转换:就要用到强制类型转换符
3、强制类型转换是通过类型转换运算来实现的。其一般形式为: 类型说明符表达式 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型
4.在下列流类中,可以用于处理文件的是?
A.ios
B.iostream
C.strstream
D.fstream
答案:D
解析:
A 选项 ios 是所有流类的基类,它派生出 istream 和 ostream
B 选项 iostream 继承自 istream 和 ostream 类,因为该类的功能兼两者于一身,既能用于输入,也能用于输出
C 选项 strstream 类同时可以支持 C 风格的串流的输入输出操作
D 选项 兼 ifstream 和 ofstream 类功能于一身,既能读取文件中的数据,又能向文件中写入数据
5.假设声明了以下的函数模板:
template<class T>
T max(T x,T y) {
return x > y ? x : y;
} int i;char c;
A.max(i,i);
B.max(c,c);
C.max((int)c,i);
D.max(i,c);
答案:D
解析:这个函数模板只有一个类型参数T,所以传给max函数的实参类型要一致
6.下面表达式(本题数值均为十进制)11|10 的结果是?
答案:11
解析:相邻两个数字,按位或结果等于较大的数字,按位与结果等于较小的数字
7.C++ 某基类有构造函数 A(),析构函数 ~A(),其派生类B的构造函数和析构函数分别为 B() 和 ~B(),那么对于派生类 B 的构造和析构,下列说法正确的是 ()
A.构造时,先调用 A(),再调用 B(),析构时,先调用 ~A(),再调用 ~B()
B.构造时,先调用 A(),再调用 B(),析构时,先调用 ~B(),再调用 ~A()
C.构造时,先调用 B(),再调用 A(),析构时,先调用 ~A(),再调用 ~B()
D.构造时,先调用 B(),再调用 A(),析构时,先调用 ~B(),再调用 ~A()
答案:B
解析:父类先构造,然后子类构造,结束时,子类先析构,然后父类最后析构
先构造的后析构,后构造的先析构
8.执行下列程序后,其输出结果是( )
int main() {
int a = 9

本文详细讲解了C++中的多继承、指针与引用的区别、类型转换、文件处理、函数模板、运算符优先级、构造与析构函数的调用顺序、友元函数、静态成员、虚函数等核心概念,以及在32位系统中空类和含有虚函数的类的大小。同时,探讨了指针的大小与CPU、操作系统、编译器位数的关系,并举例展示了C++中的一些常见错误和陷阱。
最低0.47元/天 解锁文章
1512

被折叠的 条评论
为什么被折叠?



