更多"有如下类定义
class Test{
char a; "的相关试题:
[单项选择]有如下类定义:
class A
char *a;
public:
A. )。 Dew char[strlen(aa)+1]
B. char[strlen(aa)+1]
C. char[strlen(aa)]D) Dew char[sizeof(aa)-1]
[单项选择]有如下类定义:
class Test
public :
Test( ) a = 0; c = 0; //①
int f(int a) const this->a = a; //②
static int g( ) return a; //③
void h(int b) Test::b = b; ;//④
private :
int a ;
static int b;
const int c;
;
int Test::b = 0;
在标注号码的行中,能被正确编译的是( )。
A. ①
B. ②
C. ③
D. ④
[单项选择]有如下类定义:
class MyClass{
int b;char a;double c;
public:
MyClass( ):c(0.0),b(0),a(','){}
};
创建这个类的对象时,数据成员的初始化顺序是
A. a,b,c
B. c,b,a
C. b,a,c
D. c,a,b
[单项选择]有如下类定义:
class A
char*a;
public:
A( ):a(0)
A(char*aa)//把aa所指字符串拷贝到a所指向的存储空间
a=______;
strcpy(a,aa);
~A( )delete[]a;
;
横线处应填写的表达式是
A. new char[strlen(aa)+1]
B. char[strlen(aa)+1]
C. char[strlen(aa)]
D. new char[sizeof(aa)-1]
[单项选择]有如下类定义: class Test { public: Test( ){a=0;C=0;t //① int f(int A) const{this->a=a;} //② static int g( ){return a;} //③ void h(int B) {Test::b=b;}; //④ private: int a; static int b; const int c; }; int Test::b=0: 在标注号码的行中,能被正确编译的是
A. ①
B. ②
C. ③
D. ④
[单项选择]有如下类定义: class Test { public: Test( ){a=0;c=0;} //① int f(int a)const {this->a=a;} //② static int g( ){return a;} //③ void h(int b){Test::b=b;}; //④ private: int a; static int b; const int c; }; int Test::b=0; 在标注号码的行中,能被正确编译的是
A. ①
B. ②
C. ③
D. ④
[单项选择]有如下类定义:
classFoo
{
public:
Foo(intv):value(v){}//①
~Foo(){}//②
private:
Foo(){}//③
intvalue=0;//④
};
其中存在语法错误的行是( )。
A. ①
B. ②
C. ③
D. ④
[单项选择]有如下类定义:
class Animal{
public:
virtual void Name( )=0;
};
class Koala:public Animal{
public:
void Name( ){/*函数体略*/}
};
关于上述类定义,下列描述中错误的是
A. 类Koala是类Animal的派生类
B. 类Koala中的Name函数是一个虚函数
C. 类Animal中的Name函数是一个纯虚函数
D. 语句"Animal a;"能够建立类Animal的一个对象a
[单项选择]有如下类定义:
class MyBase
int k;
public:
MyBase(int n=0):k(n)
int value( )constreturn k;
;
class MyDerived:MyBase
int j;
public:
MyDerived(int i):j(i)
int getK( )eonstreturn k;
int getJ( )constreturn j;
;
编译时发现有一处语法错误,对这个错误最准确的描述是
A. 函数getK试图访问基类的私有成员变量K
B. 在类MyDerived的定义中,基类名MyBase前缺少关键字public、protected或private
C. 类MyDerived缺少一个无参的构造函数
D. 类MyDerived的构造函数没有对基数数据成员K进行初始化
[单项选择]有如下类定义
class MyClass{
int x;
public:
MyClass( ):x(0),y(0){}
int GetX( ){return x;}
void SetX(int xx){x==xx;}
int y;
};
已知obj是类MyClass的对象,下列语句中违反类成员访问控制权限的是
A. obj.x;
B. obj.y;
C. obj.GetX();
D. obj.SetX(0);
[填空题]有如下类定义,请将Sample类的复制构造函数补充完整。
class Sample
public:
Sample( )
~Sample( )if(P)delete P;)
Sample(const Sample&s)______
void SetData(int datA) P=new int(datA) ;
private:
int*P:
;
[单项选择]有如下类定义: class MyBase { int k; public: MyBase(int n=0):k(n) { } int value( )const{ return k;} }; class MyDerived: MyBase { intj; public: MyDerived(int i): j(i) {} int getK( )const{ return k; } int getJ( )const{ return j; } }; 编译时发现有一处语法错误,对这个错误最准确的描述是
A. 函数getK试图访问基类的私有成员变量k
B. 在类MyDerived的定义中,基类名MyBase前缺少关键字public、protected或private
C. 类MyDerived缺少一个无参的构造函数
D. 类MyDerived的构造函数没有对基类数据成员k进行初始化
[单项选择]有如下类定义:
class B
public: void funl( )
private, void fun2( )
protected : void fun3 ( )
;
class D: public B
protected: void fun4 ( )
;
若obj是类D的对象,则下列语句中不违反访问控制权限的是( )。
A. obj. funl();
B. obj. fun2() ;
C. obj. fun3() ;
D. obj. fun4() ;
[单项选择]有如下类定义:
class AA
int a;
public :
int getRef( )const t return &a; //①
int getValue( )const return a; //②
void set(int n)const a=n; //③
friend void show(AA aa)const cout <<a; //④
;
其中四个函数的定义中正确的是( )。
A. ①
B. ②
C. ③
D. ④
[单项选择]有如下类定义:
class AA
int a;
public:
int getRef( )constreturn &a; //①
int getValue( )constreturn a;) //②
void set(int n)consta=n; //③
friend void show(AAaa)constcout<<a; //④
;
其中的四个函数定义中正确的是
A. ①
B. ②
C. ③
D. ④
[填空题]有如下类定义,请将Sample类的拷贝构造函数补充完整。
class Sample{
public:
Sample( ){)
~Sample( ){if(p)delete p;)
Sample(const Sample& s){
______
}
void SetData(int data) {p=new int(data);}
private:
int*p;
};
[单项选择]若有如下类定义:
class B
void funl( )
protected:
double varl:
public:
void fun2( )
;
class D://public B
protected:
void fun3( )
;
已知obj是类D的对象,下列语句中不违反类成员访问控制权限的是( )。
A. obj.funl();
B. obj.varl;
C. obj.fun2();
D. obj.fun3();