1)有如下两个类定义:classAA{};class BB{AA v1,*v2;BB v3; int *v4;}
其中有一个成员变量的定义是错误的,这个变量是()
A v1 B v2 C v3 D v4//只需要解释C和B
2)下列关于构造函数的叙述中,错误的是()
A 构造函数可以重载。
B 构造函数可以设置默认参数
C 构造函数在定义类变量时自动执行
D 构造函数可以对静态数据成员进行初始化
//主要解释CD 尤其是D
3)在下列情况中,不会调用拷贝构造函数的是()
A 用一个对象去初始化同一个类的另一个对象时
B将类的一个对象赋予该类的另一个对象时
C 函数的形参是类的对象,调用函数进行形参和实参结合时
D 函数的返回值是类的对象,函数执行返回调用时
//每项都要有解释 谢谢哦
4)下面对静态数据成员的叙述中正确的是()
A 静态数据成员可以再类体内进行初始化
B 静态数据成员不可以被类的对象调用
C 静态数据成员不能受private控制符的作用
D静态数据成员可以用类名调用
//ABCD都需要解释
5)由于常对象不能被更新,因此()
A 通过常对象只能调用它的常成员函数
B 通过常对象只能调用静态成员函数
C 常对象的成员都是常成员
D 通过常对象可以调用任何不改变对象值的成员函数
//ABCD都需要解释
3)情况2,3。
4)D怎么用类名调用?
5)C const对象里可以不是const成员的
或许这些遗留问题给个具体实例,我就能理解了。
3)
情况2:
class A{};
void fn(A a)
{
}
void main()
{
A b;
fn(b);
}
情况3:
class A{};
A fn()
{
A a;
return a;
}
4)
#include
#include
class A
{
public:
static int a;
};
int A::a = 1;
void main(int argc, char *argv[])
{
printf("%d\n",A::a);
A::a = 2;
printf("%d\n",A::a);
system("PAUSE");
}
5)
#include
#include
class A
{
public:
int a;
const int b;
A():b(1),a(0)
{
}
};
void main(int argc, char *argv[])
{
const A a;
printf("%d %d",a.a,a.b);
system("PAUSE");
}
C++选择题 需要有解释的要解释,好的可以加分。
C常对象的意思是一旦初始化便不允许修改.而不是说对象的数据成员是常数据成员, const对象里可以不是const成员的
C++选择题 就1道题3个选项 所以要给出这三个选项的详细解释哦 只要认 ...
纯虚函数是可以是有函数体定义的,所以 A 是错误。纯虚函数的声明必须要以 = 0 结束,所以 B 是正确。派生类不一定需要实现基类的纯虚函数,如果基类的纯虚函数有定义,那么可以不用实现,所以 C 是错误。
一道C++的函数选择题 要求详细解答
为什么?因为,c++的规定就是,当函数的参数是值类型的时候,传递的是值,而不是地址,所以会为这个传来的值 新分配一个地址单元。在这里的实际参数a本来已经有一个地址单元了,然后根据上面这个c++的规定,所以会为a的值另外分配一个地址单元,变量名是w。不过 这个“&”符号你要去学习一下,这个是...
c++选择题求解析
(A) *p[0] 对p的第0个元素(int指针类型)解引用,所以是int变量,正确 (B) *(*p+0) 对于*p+0等价于p[0]所以B和A是一样的, 正确 (C) p[0] p是指针数组,所以p[0]就是它的第一个元素,就是个指针,不是int变量,所以错误。(D) a[0] 这个就没什么好解释了。正确 朋友,...
C++中2道结构方面选择题,详细解释一下 当定义一个结构体变量时,系统...
分配的内存空间为 12 32位且4字节对齐时占用的字节数为12字节。16位2字节对齐时占用的字节数为6字节。 源代码如下:include<stdio.h> struct s{ int a; char b; float c;}; void main(){ printf("%d\\n",sizeof(struct s));}运行结果如下 ...
C++运行时多态的选择题,帮帮新手吧
答案是D 解释:A:构造函数不能声明为虚函数,但在构造函数中可以调用虚函数.在构造函数或析构函数中调用虚函数,将采用静态联编 B,C,D:构造函数不能声明为虚函数,但析构函数可以声明为虚函数.当基类的析构函数声明为虚函数时,无论派生类是否使用virtual关键字说明,派生类的析构函数一定是虚函数,而且,...
一个C++选择题 不要答案要解释 谢谢!
int 整数为2字节,long 整数为4字节;2、(B)--- 错误,因为仅整数中的子集0~255能表示字符;3、(C)--- 错误,因为字符型变量1个字节,多个字符为多个字节;4、(D)--- 正确,字符数据的值是0~255整数值。注意,(A)的“赋予”应当做“赋给”解释,否则有二义性。
急!C++选择题:表达式 x=(3+2,5*6),x+1 运行后,x的值为多少?请详细解释...
30,x=(3+2,5*6)然后x+1 (3+2,5*6) = 30 x=30 x+1没有改变x本身
c++选择题,求大神详解
} T是模板,代表任意类型,也就是说可以是自定义类型也可以是int,char等基本类型。因为这个类重载了 "+" 加号运算符,所以可以认定 "+" 前面的类型是对象,后面的是参数。也就是说C选项的错误是没有重载这种 "+" 运算符,可能你还理解不了。这样B选项可以这么写你就明白了 b1.operator+(3) ...
谁能给我解释下这道c++关于指针的选择题?第五题
char *a[2]={"asdf","ASDF"};声明 a 是char 型 指针数组,数组有2 个元素。一个是指针 a[0], 另一个是 a[1];通过初始化,让 a[0] 指向了 "asdf", a[1] 指向了"ASDF";也就是 a 数组元素 指向 的 值 是 字符串 "asdf" 和 "ASDF";--- a[0] 是 1 个指针,a[1] 是...