搜题
网友您好,请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
提问人:网友kenaky 发布时间:2022-01-06
[主观题]

请按下面注释的提示,将类B的构造函数定义补充完整。classA { int a; public: A(int aa=0){a=aa;)

请按下面注释的提示,将类B的构造函数定义补充完整。

classA

{

int a;

public:

A(int aa=0) {a=aa;)

};

Class B:public A

{

int b;

A c;

public:

//用aa初始化基数A,用aa+1初始化类对象成员c

B(int aa): (b=aa+2)

};

简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
查看官方参考答案
更多“请按下面注释的提示,将类B的构造函数定义补充完整。classA { int a; public: A(int aa=0){a=aa;)”相关的问题
第1题
请按下面注释的提示,在横线处填入适当的内容将类B的构造函数定义补充完整。 class A { int a; public: A(int aa=0) { a=aa; } }; class B: public A { int b; A c; public: //用aa初始化基类A,用aa+1初始化类对象成员c B(int aa):________ { b=aa+2; } };

A.A(aa), c(aa+1)

B.a=aa, c(aa+1)

C.A(aa), c.a=aa+1

D.a=aa , c.a=aa+1

点击查看答案
第2题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了类BA、PA1和PA2,其中PA1类由BA类公有派
生,PA2类由PA1类公有派生。上述3个类的定义并不完整,请按要求完成下列操作,将程序补充完整。

程序输出结果如下:

1O

5

1057

(1)定义类BA的构造函数,该构造函数有一个整型的参数m,在构造函数中将m赋值给数据成员a。请在注释1之后添加适当的语句。

(2)定义类PA1的构造函数,该构造函数有两个整型的参数m和n,在构造函数中将m赋值给数据成员b,将n作为基类BA构造函数的参数值传人。请在注释2之后添加适当的语句。

(3)定义类PA2的构造函数,该构造函数有3个整型的参数m、n和k,在构造函数中请将m赋值给数据成员c,将n和k分别赋值给基类PA1构造函数的参数m和n。请在注释3之后添加适当的语句。

(4)完成类PA2的成员函数show的定义,该函数调用基类成员函数,输出基类私有成员a、b及类PA2自身的数据成员C的值,上述3个值在输出时用空格隔开。请在注释4之后添加适当的语句。

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

试题程序:

include(iostream.h>

classBA

{

inta;

public:

//********1********

intgeta{returna;}

};

classPAl:publicBA

{

intb;

public:

//********2********

intgetb{returnb;}

};

classPA2:publicPAl

{

intC;

public:

//********3********

voidshow

{

//********4********

}

};

voidmain

{

PA2a(7,5,10);

cout<<a.geta<<endl;

cout<<a.getb<<endl;

a.show;

}

点击查看答案
第3题
使用VC6打开考生文件夹下的工程test30_3。此工程包含一个test30_3.cpp,其中定义了类A、A1和A2,其中
A1类由 A类公有派生,A2类由A1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。

(1)定义类A的构造函数,该构造函数有一个整型的参数x,在构造函数中请将x赋值给数据成员a。请在注释“//** 1**”之后添加适当的语句。

(2)定义类A1的构造函数,该构造函数有两个整型的参数x和y,在构造函数中请将x赋值给数据成员b,将y作为基类A构造函数的参数值传入。请在注释“//**2**”之后添加适当的语句。

(3)定义类A2的构造函数,该构造函数有三个整型的参数x,y和2,在构造函数中请将x赋值给数据成员c,将y和z分别赋值给基类A1构造函数的参数x和y。请在注释“//**3**”之后添加适当的语句。

(4)完成类A2的成员函数show的定义,该函数调用基类成员函数,输出基类数据成员a和b及类A2自身的数据成员c的值,上述三个值在输出时以空格隔开。请在注释“//**4**”之后添加适当的语句。

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

程序输出结果如下:

9

6

962

源程序文件test30_3.cpp清单如下:

include <iostream.h>

class A

{

int a;

public:

//** 1 **

int geta() {return a;}

};

class A1:public A

{

int b;

public:

//** 2 **

int getb() {return b;}

};

class A2:public A1

{

int c;

public:

//** 3 **

void show()

{

//** 4 **

}

};

void main()

{

A2 a(2,6,9);

cout<<a.geta () <<end1;

cout<<a, getb () <<end1;

a. show();

}

点击查看答案
第4题
使用VC6打开考生文件夹下的工程test29_3。此工程包含一个test29_3.cpp,其中定义了二维坐标类Coord
inate和三维坐标类ThreeDCoord,其中ThreeDCoord类由Coordinate类public派生,但两个类的定义并不完整。请按要求完成下列操作,将程序补充完整。

(1)定义类Coordinate的保护数据成员x和y,它们都是int型的数据,代表二维坐标的横纵坐标值。请在注释“//**1 **”之后添加适当的语句。

(2)根据类Coordinate定义后的成员函数Display的实现,补充该函数在类Coordinate定义体内的声明,Display为二维坐标类的虚函数。请在注释“//**2**。”之后添加适当的语句。

(3)完成二维坐标类Coordinate的构造函数,将参数a和b分别赋值给数据成员x和y。请在注释“//**3**”之后添加适当的语句。

(4)根据ThreeDCoord类构造函数的声明,补充ThreeDCoord构造函数的实现,参数a和b通过调用基类的构造函数来初始化基类的数据成员x和y,c赋值给数据成员2。请在注释“//**4**”之后添加适当的语句。

输出结果如下;

[1,2]

[3,4,5]

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

源程序文件tese9_3.cpp清单如下:

include<iostream.h>

class Coordinate

{protected:

//** 1 **

public:

Coordinate(int a=0, int b=0);

//** 2 **

};

Coordinate::Coordinate(int a, int b)

{

//** 3 **

}

void Coordinate::Display() const

{

cout << '[' << x << ", "<< y << ']' << end1;

}

class ThreeDCoord:public Coordinate

{

int z;

public:

ThreeDCoord(int a=0, int b=0, int c=0);

virtual void Display() const;

};

//** 4 **

void ThreeDCoord::Display() const

{

cout << '[' << x << ", "<< y << ", "<< z << ']' << end1;

}

void main ()

{

Coordinate c(1, 2);

ThreeDCoord t(3, 4, 5);

c.Display ();

t.Display ();

}

点击查看答案
第5题
使用VC6打开考生文件夹下的工程test17_3,此工程包含一个源程序文件test17_3.cpp,其中定义了用于
表示点的类Point和表示内容的类Text以及二者的派生类CircleWithText,但它们的定义并不完整。请按要求完成下列操作,将它们的定义补充完整。

(1)定义类Point的构造函数,请使用参数列表的形式将成员函数x和y分别初始化为参数x1和y1的值。请在注释“//**1**。”之后添加适当的语句。

(2)完成类Text的构造函数Text(char *str)的定义,将char型的str指向的内容赋值给text并且输出str所指向的内容,请在注释“//**2**”之后添加适当的语句。

(3)定义类CircleWithText的构造函数CircleWithText(int cx,int cy,char *msg),int型的cx和cy用于赋值给x和y,char型的指针*msg用于赋值给text,请在注释“//**3**”之后添加适当的语句。

输出结果如下:

Point:3 4

hello

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

源程序文件test17_3.cpp清单如下:

include <iostream.h>

include <string.h>

class Point

{

int x,y;

public:

//**1**

{

cout<<"Point:"<<x<<' '<<y<<'\n';

}

~Point(){}

};

class Text

{

char text[100];

public:

Text(char *str)

{

//**2**

}

~Text () { }

};

class CircleWithText:public Point,public Text

{

public:

//**3**

{}

~CircleWithText() {}

};

void main()

{

CircleWithText cm(3,4,"hello");

}

点击查看答案
第6题
使用VC6打开考生文件夹下的工程test38_3。此工程包含一个test38_3.cpp,其中定义了类complex,但类
的定义并不完整。请按要求完成下列操作,将程序补充完整。

(1)添加类complex的无参数的构造函数的定义,将私有成员real和imag都初始化为0。请在注释“//**1**”之后添加适当的语句。

(2)添加类complex的带两个参数的重载构造函数,两个参数r和i都是double类型,要求将r赋值给私有成员real, i赋值给私有成员imag,同时允许调用时参数i可是省略,请在注释“//**2**”之后添加适当的语句。

(3)完成类complex重载加法函数的定义,该函数直接返回一个类complex的对象,同时把参数对象c的实部real和虚部imag分别与当前对象对应部分分别相加,请在注释“//**3**”之后添加适当的语句。

(4)完成类complex的友元函数print的定义,使其以格式“real+imagi”输出,请在注释“//**4**”之后添加适当的语句。

源程序文件test38_3.cpp清单如下;

include <iostream.h>

class complex

{

public:

// ** 1 **

// ** 2 **

{

real=r;imag=i;

}

complex operator+(complex & c);

friend void print(complex &c);

private:

double real,imag;

};

complex complex::operator+(complex & c)

{

// ** 3 **

}

// ** 4 **

cout<<c.real<<"+"<<c.imag<<"i"<<endl;

}

void main()

{

complex c1(2.0,3.0),c2(4.0,-2.0),c3;

c3=c1+c2;

print(c3);

c3=c3+complex(3.5);

print(c3);

}

点击查看答案
第7题
使用VC6打开考生文件夹下的工程MyProj1。此工程包含千个源程序文件 MyMainl.cpp,其中定义了用于表
示日期的类Date,但类Date的定义并不完整。请按要求完成下列操作,将类Date的定义补充完成:

①定义私有数据成员year、month和day分别用于表示年、月、日,它们都是int型的数据。请在注释“//**1**”之后添加适当的语句。

②完成默认构造函数Date的定义,使Date对象的默认值为:year=1,month=1, day=1,请在注释“//**2**”之后添加适当的语句。

③完成重载构造函数Date(int y, int m, int d)的定义,把数据成员year、month和day分别初始化为参数y、m和d的值,请在注释“//**3**”之后添加适当的语句。

④完成成员函数print的类外定义,使其以“年-月-日”的格式将Date对象的值输出到屏幕上。请在注释“//**4**”之后添加适当的语句。

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

源程序文件MyMain1.cpp清单如下:

//MyMainl. cpp

include <iostream>

using namespace std;

class Date

{

public:

//* * 2 * *

Date(int y, int m, int d)

{

//* * 3 * *

}

void print() const;

private:

//data member

//* * 1 * *

};

void Date: :print () const

{

//* * 4 * *

}

int main ()

{

Date national_day(1949,10,1);

national_day.print();

return 0;

}

点击查看答案
第8题
使用VC6打开考生文件夹下的工程test33_3。此工程包含一个test33_3.cpp,其中定义了表示时间的类Tim
e,但Time类定义并不完整。请按要求完成下列操作,将程序补充完整。

(1)定义类Time的私有数据成员hours、minutes和seconds,它们都是int型的数据,分别表示时间的小时、分和秒。请在注释“//**1**”之后添加适当的语句。

(2)完成类Time缺省构造函数的定义,该函数将数据成员hours、minutes和seconds的值初始化为0,请在注释“//** 2**”之后添加适当的语句。

(3)完成类Time带参构造函数的定义,该函数将数据成员hours、minutes和seconds的值分别初始化为参数h、m和s的值,请在注释“//**3**”之后添加适当的语句。

(4)完成类Time中运算符“+”的重载,注意小时、分和秒在相加时的进位问题。请在注释“//**4**”之后添加适当的语句。

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

程序输出结果如下:

8:17:11

源程序文件test33_3.cpp清单如下:

include <iostream.h>

class Time

{

//** 1 **

public:

Time ()

{

//** 2 **

seconds=0;

}

Time(int h, int m, int s)

{

//** 3 **

minutes=m;

seconds=s;

}

Time operator +(Time&);

void gettime();

};

Time Time::operator +(Time& time)

{

//** 4 **

s=time.seconds+seconds;

m=time.minutes+minutes+s/60;

h=time.hours+hours+m/60;

Time result(h,m%60,s%60);

return result;

}

void Time::gettime()

{

cout<<hours<<":"<<minutes<<":"<<seconds<<end1;

}

void main()

{

Time t1(3,20,15),t2(4,56,56),t3;

t3=t1+t2;

t3.gettime();

}

点击查看答案
第9题
使用VC6打开考生文件夹下的工程test37_3。此工程包含一个test37_3.cpp,其中定义了类Letter和Numbe
r以及Grid,其中Grid类由Letter类和Number类public派生,但三个类的定义并不完整。请按要求完成下列操作,将程序补充完整。

(1)添加类Letter的带一个参数c的构造函数,c是char型的数据,默认值为'A',该函数把参数c的值赋给类的保护成员ch,请在注释“//**1**”之后添加适当的语句。

(2)添加类Number的带一个参数n的构造函数,n是int型的数据,默认值为0,该函数把参数n的值赋给类的保护成员num,请在注释“//**2**”之后添加适当的语句。

(3)添加派生类Grid构造函数的定义,传入的参数为char型的c和血型的n,并将其分别赋值给基类的ch和num,请在注释“//**3**”之后添加适当的语句。

(4)完成派生类Grid的友元函数——“<<”运算符重载的定义,使其以格式“[g.ch,g.num]”输出,请在注释“//**4 **”之后添加适当的语句。

源程序文件test37_3.cpp清单如下:

include<iost ream. h>

class Letter

{

protected:

char ch;

public:

// ** 1 **

};

class Number

{

protected:

int num;

public:

// ** 2 **

};

class Grid : public Letter, public Number

{

public:

// ** 3 **

friend ostream& operator<<(ostream &o,Grid &g);

};

// ** 4 **

{

o << "[" << g.ch << ", "<< g.num << "]";

return o;

}

int main ()

{

Grid g('C', 3);

cout << "Grid reference: "<< g << end1;

return 0;

}

点击查看答案
第10题
使用VC6打开考生文件夹下的工程test7_3,此工程包含一个源程序文件test7_3.cpp,其中含有一个类Cir
cle的定义,但该类的定义并不完整。请按要求完成下列操作,将类Circle的定义补充完整。

(1)为类Circle增加一个构造函数,该函数有一个参数,并在构造时将该参数值赋给成员radius。将该函数实现为一个非内联函数,并且使用参数列表的方式将类成员赋值。请在注释“//**1**”之后添加适当的语句。

(2)为类Circle增加一个成员函数print(),使得可以输出有关圆的信息,比如下列程序

Circle c;

c.SetRadius(5);

c.Print();

将输出:The circle has radius of 5!

请在注释“//**2**”之后添加适当的语句。

(3)完成友元函数void CompareR(Circle *cl,Circle*c2)的定义,在屏幕中输出c1与c2比较radius大小结果,要求使用 if-else结构完成。请在注释“//**3**”之后添加适当的语句。

输出结果如下;

The circle has radus of 5!

The circle has radius of 10!

c1<c2

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

源程序文件test7_3.cpp清单如下:

include<iostream.h>

class Circle{

public:

Circle():radius(5){}

//**1**

void SetRadius(int r) {radius=r; }

int GetRadius() {return radius; }

//**2**

friend void CompareR(Circle *c1,Circle*C2);

private:

int radius;

};

void CompareR(Circle *c1,Circle *C2)

{

//**3**

cout<<"c1>c2"<<endl;

else

if((c1->GetRadius())==(c2->GetRadius()))

cout<<"c1=c2"<<endl;

else

if((c1->GetRadius())<(c2->GetRadius()))

cout<<"c1<c2"<<endl;

}

void main()

{

Circle c1;

c1.SetRadius(5);

C1.Print();

Circle c2(10);

c2.Print();

CompareR(&c1,&c2);

}

点击查看答案
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注简答题 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注简答题 -
请用微信扫码测试
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

简答题
下载APP
关注公众号
TOP