(1)下列关于成员函数特征的描述中,错误的是( )。
A)成员函数一定是内联函数
B)成员函数可以重载
C)成员函数可以设置参数的默认值
D)成员函数可以是静态的
答案:A
(2)有如下类定义:
class MyClass
{
public:
private:
______________________________________
int data;
};
若要为MyClass类重载流输入运算符“>>”,使得程序中可以“cin>>obj;”的形式改变MyClass类的
对象0bj中数据成员data的值,则横线处的声明语句应为( )。
A)friend istream& operator>>(istream&is,MyClass&a);
B)friend istream&operator>>(istream&is,MyClass a);
C)istream&operator>>(istream&is,MyClass&a);
D)istream&operator>>(istream&is,MyClass a);
答案:A
(3)由于常对象不能被更新,因此( )。
A)通过常对象只能调用它的常成员函数
B)通过常对象只能调用静态成员函数
C)常对象的成员都是常成员
D)通过常对象可以调用任何不改变对象值的成员函数
答案:A
(4)有如下类定义:
class AA
{
im a:
public:
int getRef()const{return&a;}//①
int getValue()const{return a;}//②
void set(int n)const{a=n;}//③
friend void show(AA aa)const{cout<<A;} p ④<>
};
其中四个函数的定义中正确的是( )。
A)①
B)②
C)③
D)④
答案:B
(5)下列关于this指针的描述中,正确的是( )。
A)类的成员函数都有this指针
B)类的友元函数都有this指针
C)任何与类相关的函数都有this指针
D)类的非静态成员函数都有this指针
答案:D
(6)下列关于虚函数的说明中,正确的是( )。
A)从虚基类继承的函数都是虚函数
B)虚函数不得是静态成员函数
C)只能通过指针或引用调用虚函数
D)抽象类中的成员函数都是虚函数
答案:B
(7)下列关于基类和派生类关系的叙述中,正确的是( )。
A)每个类最多只能有一个直接基类
B)派生类中的成员可以访问基类中的任何成员
C)基类的构造函数必须在派生类的构造函数体中调用
D)派生类除了继承基类的成员,还可以定义新的成员
答案:D
(8)有如下类定义:
class B
{
public:void funl(){}
private:void fun2(){}
protected:void fun3(){}
};
class D:public B
j
protected:void fun4(){}
};
若obj是类D的对象,则下列语句中不违反访问控制权限的是( )。
A)obj.funl();
B)obj.fun2();
C)obj.tim3();
D)ohj.fun4();
答案:A
(9)有如下类定义:
class Foo
{
public:
Foo(int v):value(V){}//①
~Foo(){}//②
private:
Foo(){}//③
int value=0://④
};
其中存在语法错误的行是( )。
A)①
B)②
C)③
D)④
答案:D
(10)有如下类定义:
class Point
{
int xx.yy;
public:
Point():xx(0),yy(0){}
Point(int x,int Y=0):xx(X),YY(Y){}
};
若执行语句
Point a(2),b[3],幸c[4];
则Point类的构造函数被调用的次数是( )。
A)2次
B)3次
C)4次
D)5次
答案:C
点击加载更多评论>>