更多"有如下类定义: class A char *a; public:"的相关试题:
[单项选择]有如下类定义:
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 XCH{
char*a;
public:
XCH(char*aa){ //构造函数
a=new char[strlen(aa)+1];
strcpy(a,aa);
}
XCH& operator=(const XCH& x){ //重载赋值函数
delete[]a;
a=new char[strlen(x,a)+1];
strcpy(a,x,a);
______;
}
~XCH( ){delete[]a;)
}
[单项选择]有如下类定义:
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
[单项选择]类MyClass的定义如下:
class MyClass
public:
MyClass( )
value=0;
setVariable(int i)
value=i;
private:
int value;
;
则以下各项对如下语句序列的描述中,正确的是( )。
MyClasS *p,my; p=&my;
A. 语句“p=&my;”是把对象my赋值给指针变量p
B. 语句“MyClass *p,my;”会调用两次类MyClass的构造函数
C. 对语句“*p.SetVariable(5)”的调用是正确的
D. 语句“p->SetVariable(5)”与语句“my.SetVariable(5)”等价
[单项选择]有如下类定义
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);
[单项选择]有如下类定义:
class Test
private int x;
public int y;
public void setX (int m) x=m;
public int getX( ) return x;
现用Test t=new Text( );生成一个对象t,则如下语句中,错误的是( )。
A. x=10;
B. y=10;
C. setX(10);
D. int m=t.getX( );
[单项选择]有如下类定义:
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() ;
[单项选择]类MyClass的定义如下:
class MyClass
public:
MyClass( )value=0;
SetVariable(int i)value=i;
private:
int value;
;
则对下列语句序列正确的描述是( )。
MyClass*P,my;p=&my;
A. 语句p=&my;是把对象my赋值给指针变量P
B. 语句MyClass*p,my;会调用两次类MyClass的构造函数
C. 对语句*P. SetVariable(5)的调用是正确的
D. 语句p->SetVariable(5)与语句my.SetVariable(5)等价
[填空题]类Test定义如下:
class Test
{
public static void main(string args[])
{
String s1="abc";
String s2=new String(s1);
if(s1==s2)
System.out.println("s1==s2";
if(s1.equals(s2))
System.out.println("s1.equals(s2)");
}
}
那么程序的执行结果为: 【15】
[单项选择]有如下类定义:
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. ④
[单项选择]有如下类定义:
class AA
int a;
public:
int getRef( )eonstreturn &a; //①
int getValue( )constreturn a; //②
vold set(int n)eonsta=n; //③
friend void show(AA a
A. eonsttout<<a; //④
B. ②
C. ③
D. ④
[单项选择]有如下类定义: 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 Sample{
public:
Sample( );
~Sample( );
Private:
Static int date;
};
将静态数据成员data初始化为0的语句是 【11】 。
[单项选择]已知类Myclass的定义如下:
class MyClass
public:
MyClass(int D) data=d;
~MyClass ( )
private:
int data;
;
下列对Myclass类对象数组的定义和初始化语句中,正确的是( )。
A. MyClass arrays[2];
B. MyClass arrays[2]=MyClass(5);
C. MyClass arrays[2]=MyClass(5), MyClass(6);
D. MyClass*arrays=new MyClass[2];