A
void AA(int);
B
int AA( );
C
AA(int) const;
D
AA(int);
答案:D。
题解:定义构造函数不用类型,且不能被const修饰。
关于成员函数特征的下述描述中,()是错误的。
A
成员函数一定是内联函数
B
成员函数可以重载
C
成员函数可以设置参数的默认值
D
成员函数可以是静态的
答案:A。
题解:不一定是。
。
。
下列关于构造函数的说法错误的是( )。
A
构造函数的名字必须与类的名字相同
B
构造函数可以定义为void类型
C
构造函数可以重载、可以带有默认参数
D
构造函数可以由用户自定义也可以由系统自动生成
答案:B。
题解:构造函数不能定义为任何类型。
有如下类声明:
class student
{
int age;
char *name;
};
则student类的成员age是( )。
- A. 公有数据成员
- B. 私有数据成员
- C. 保护数据成员
- D. 私有成员函数
正确答案: B
5. (单选题, 11分)#include
class point
{
int x,y;
public:
point():x(0),y(0){}
point(int x1,int y1=0):x(x1),y(y1){}
};
若执行语句
point a(2),b[3],*c;
则point类的构造函数被调用的次数是( )。
- A. 2次
- B. 3次
- C. 4次
- D. 5次
我的答案: C正确答案: C
题解:point a(2)调用一次,point b[3]时调用三次,至于指针,
6. (单选题, 11分)C++中如果声明一个对象指针时没有分配内存,那么不会调用构造函数
有如下程序
#include
using namespace std;
class AA{
int n;
public:
AA(int k):n(k){ }
int get( ){ return n;}
int get( )const{ return n+1;}
};
int main( )
{
AA a(5);
const AA b(6);
cout<
return 0;
}
运行该程序结果为( )。
- A. 56
- B. 57
- C. 67
- D. 66
正确答案: B
答案解析:
常对象调用常成员函数
7. (单选题, 11分)运行下列程序结果为____________________。
#include
#include
using namespace std;
class MyClass{
public:
MyClass(){cout<<'A';}
MyClass(char c){cout< ~MyClass(){cout<<'B';} }; int main(){ MyClass p1,*p2; p2=new MyClass('X'); delete p2; return 0; } 执行这个程序幕上将显示输出______。 正确答案: D 题解:本题目考核构造函数和析构函数的调用 在下列哪种情况下会调用拷贝构造函数( )。 正确答案: ABC #include using namespace std; class MyClass { public: int number; void set(int i); }; int number=3; void MyClass::set (int i){ number=i; } void main( ){ MyClass my1; int number=10; my1.set(5); cout< my1.set(number); cout< my1.set(::number); cout< } 正确答案: 5 10 3 题解:“::”修饰变量,当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)