有如下类定义:class XX{int xdata;public:xx(int n=O):xdata(n){}};class YY:public XX{int ydata;public:YY(int m=0,int n=O):XX(m),ydata(n){}};YY类的对象包含的数据成员的个数是
A.1
B.2
C.3
D.4
A.1
B.2
C.3
D.4
有如下类定义: Class MyClass{ int value; public: MyClass(int n): value(n){} int getValue()const{return value;} }; 则类MyClass的构造函数的个数是
A.1个
B.2个
C.3个
D.4个
有如下类定义;
class AA{int 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; )//④};
其中的四个函数定义中正确的是()。
A.①
B.②
C.③
D.④
A.定义类Embed对象的语句是:Contain::Embed embed
B.类Contain的成员函数Contain_Fun()中可以用MyEmbed.y的方式访问类Embed的私有成员y
C.类Embed的成员函数Embed_Fun()中可以直接访问类Contain的私有成员x
D.类Embed的成员函数Embed_Fun()中可以直接访问类Contain的保护成员z
有如下类和对象的定义: class Constants{ public: static double get PI(){return 3.1416;} }; Constants constants; 下列各组语句中,能输出3.1416的是
A.cout<<constants->getPI();和cout<<Constants::getPI();
B.cout<<constants. getPI();和cout<<Constants.getPI();
C.cout<<constants->getPI();和cout<<Constants->getPl();
D.cout<<constants. getPI();和cout<<Constants::getPI();
根据下面类中Reverse 函数成员的原型和注释写出它的类外定义。
class AA {
int* a;
int n;
int MS;
public:
void InitAA(int aa[], int nn, int ms) {
if(nn>ms) {cout<< "Error!"<< endl; exit(1);}
MS=ms;
n=nn;
a=new int[MS];
for(int i=0; i
}
AA* Reverse(); // 对于调用该函数的对象,将其a 数组中前n 个
// 元素值按相反的次序排列,返回指向该对象的指针。
};
有如下程序:
#include<iostream>
#include<cstring>
using namespace std;
class XCF{
int a;
public:
XCF(int aa=O):a(aA){cout<<”1”;}
XCF(XCF&X){a=x.a;cout<<”2”;}
~XCF(){cout<<at}
int Geta(){return at}
};
int main(){
XCF dl(5),d2(d1);
XCF半pd=new XCF(8);
cout<<pd->Geta();
delete pd;
return 0;
}
运行时的输出结果是
A.1215588
B.1218855
C.12185
D.128512
根据下面类中Give 函数的原型和注释写出它的类外定义。
class Strings {
char *s; // 指向动态分配的字符串数组空间
int n; // 记录字符串长度
public:
Strings(char*str); // 构造函数,利用str 字符串长度初始化n,
// 利用str 字符串初始化s 所指的字符串空间
Strings(Strings& str); // 拷贝构造函数
Strings& Give(Strings& str); // 实现str 赋值给*this 的功能并返回*this
Strings Uion(Strings& str); // 实现*this 和str 中的字符串合并的
// 功能,把合并结果存入临时对象并返回
int Lenth() {return n;} // 返回字符串长度
void Print() {cout<<s<<endl;} // 输出字符串
};
A.112444
B.11114444
C.121444
D.11314444
有如下程序: #inClude using nameSpace std; Class A{ public: A(inti=0):r1(i){ } void plint(){cout<<‘E’<<r1<<‘-’;} void print()const{cout<<‘C’<<r1*r1<<‘-’;} void print(int X){cout<<‘P’<<r1*r1*r1<<‘-’;} prlvate: intrl; }; intmain(){ Aal; constA a2(4); a1.print(2); a2.print(); returh0; } 运行时的输出结果是()。
A.P8-E4
B.P8-C16-
C.P0-E4-
D.P0-C16-
A.x.f
B.this.si
C.super.i
D.super.f