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

阅读程序。阅读下列C++程序,对每条语句进行注释,说明其作用(请粘贴源代码或屏幕截图,不要上传附件

)。 #include <iostream> using namespace std; class CTest { private: int x, y; public: CTest(int p1 = 0, int p2 = 0) { x = p1; y = p2; } CTest(CTest &p) { x = p.x; y = p.y; } void Show() { cout << x << “, “ << y << endl; } }; int main() { CTest obj1; obj1.Show(); CTest obj2(2, 5); obj2.Show(); CTest obj3(obj2); obj3.Show(); return 0; }

简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
  抱歉!暂无答案,正在努力更新中……
更多“阅读程序。阅读下列C++程序,对每条语句进行注释,说明其作用(请粘贴源代码或屏幕截图,不要上传附件”相关的问题
第1题
阅读下列程序说明和C++代码,将应填入(n)处。

【说明】

①在类体中添加函数move(double ax,double ay)的定义,使得点的坐标x和y分别移动 ax和ay个单位。

②在类定义外完成重载的两个构造函数CPosition()和CPosition(double dx,double dy),其中前者为不带参数的构造函数,使CPosition对象的默认值为x=0,y=0,后者为带参数的构造函数,把数据成员x和y分别初始化为参数dx和dy的值。

③完成函数double distance(double bx,double by)的定义,该函数返回*this和点(bx, by)的距离。

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

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

include<iostream.h>

include<math.h>

class CPosition

{

public:

CPosition();

CPosition(double dx,double dy);

double getx();

double gety();

(1)

double distance(double bx,double by);

private:

double x;

double y;

};

(2)

{

x=0;y=0;

}

CPosition::CPosition(doub,e dx,doub,e dy)

{

x=dx; y=dy;

}

double CPosition::getx()

{

return x;

}

double CPosition::gety()

{

return y;

}

double CPosition::distance(double bx,double by)

{

(3)

}

vold main()

{

double a,b;

cout<<"|nput x,y position of a point:";

cin >> a >> b;

CPosition psA(a,b);

cout<<"Input x,y position of another point:";

cin >>a >> b;

cout <<"The distance is" <<psA.distance(a,b) <<end1;

}

点击查看答案
第2题
以下程序对输入的两个整数,按从大到小顺序输出。请在______填入正确内容。 main() { int x,y,z; scanf("%d,%d",&x,&y); if(_________) { z=x; _____; ______; } printf("%d,%d",x,y); }

A、第5行:x <y 第8行:x="y;" 第9行:y="z;&lt;br/"> B、第5行:x>y 第8行:x=y; 第9行:y=z;

C、第5行:x <y 第8行: y="z;" 第9行:x="y;&lt;br/"> D、第5行:x>y 第8行: y=z; 第9行:x=y;

点击查看答案
第3题
●试题四

阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【程序4.1说明】

"背包问题"的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,...,wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。

如下程序均能求得"背包问题"的一组解,其中程序4.1是"背包问题"的递归解法,而程序4.2是"背包问题"的非递归解法。

【程序4.1】

#include

#define N 7

#define S 15

int w[N+1]={0,1,4,3,4,5,2,7};

int knap(int s,int n)

{ if(s==0)return 1;

if (s<0||(s>0& &n<1))return 0;

if((1) )){

printf(″%4d″,w[n]);return 1;

}return (2) ;

}

main(){

if(knap(S,N))printf(″OK!\n″);

else printf(″N0!\n″);

}

【程序4.2】

#include

#define N 7

#define S 15

typedef struct {

int s;

int n:

int job;

} KNAPTP;

int w[N+1]={0,1,4,3,4,5,2,7};

int knap (int s,int n);

main() {

if (knap (S,N)) printf (″OK!\n″);

else printf (″NO!\n″);}

int knap (int s,int n)

{ KNAPTP stack[100],x;

int top,k,rep;

x.s=s;x.n=n;

x.job=0;

top=l;stack[top]=x;

k=0;

while((3) ) {

x=stack [ top ];

rep=1;

while (!k && rep ) {

if (x.s==0)k=1;/*已求得一组解*/

else if (x.s<0 || x.n <=0)rep=0;

else{x.s= (4) ;x.job=1;

(5) =x;

}

}

if(!k){

rep=1;

while(top>=1&&rep){

x=stack[top--];

if(x.job==1){

x.s+=w[x.n+1];

x.job=2;

stack[++top]=x;

(6) ;

}

}

}

}

if(k){/*输出一组解*/

while(top>=1){

x=stack[top--];

if(x.job==1)

printf(″%d\t″,w[x.n+1]);

}

}

return k;

}

点击查看答案
第4题
阅读程序。阅读下列C++程序。阅读后请说明程序的功能,并对每条语句进行注释,说明其作用。添加注释并提交源程序(请粘贴源代码或屏幕截图,不要上传附件)。 #include <iostream> using namespace std; int fun(char str[ ]) { int n = 0, num = 0; while (str[n] != ‘\0’) { if (str[n] >= ‘A’ && str[n] <= ‘z’ || str[n]>= ‘a’ && str[n] <= ‘z’) num++; n++; } return num; int main( ) { cout fun( “123 abc abc” endl; 0;>
点击查看答案
第5题
调用对象obj函数成员fun:obj.fun( ); 编译器在编译时会将其调整为( )。

A、obj->fun( );

B、obj->fun( &obj );

C、fun( obj );

D、fun( &obj );

点击查看答案
第6题
已定义一个圆形类Circle:class Circle { private: double r; public: void SetR(double x) { r = x; } double GetArea( ) { return 3.14*r*r; } }; 编写一个显示某个圆面积的函数show,下列函数定义中错误的是( )。

A、void show( ) { cout << “圆面积= ” << Circle.GetArea() << endl; }

B、void show( Circle c ) { cout << “圆面积= ” << c.GetArea() << endl; }

C、void show( Circle &c ) { cout << “圆面积= ” << c.GetArea() << endl; }

D、void show( Circle *c ) { cout << “圆面积= ” << c->GetArea() << endl; }

点击查看答案
第7题
使用类ABC做如下定义:ABC x, *p, y[3]; 执行该定义语句将自动调用几次类ABC的构造函数?( )

A、0

B、3

C、4

D、5

点击查看答案
第8题
已定义一个圆形类Circle:class Circle { private: double r; public: void SetR(double x) { r = x; } double GetArea( ) { return 3.14*r*r; } }; 使用Circle类来求一个半径为5的圆面积,下列语句中错误的是( )。

A、Circle.SetR( 5 ); cout << Circle.GetArea();

B、Circle c; c.SetR( 5 ); cout << c.GetArea();

C、Circle c, *p = &c; p->SetR( 5 ); cout << p->GetArea();

D、Circle *p = new Circle( ); p->SetR( 5 ); cout << p->GetArea(); delete p;

点击查看答案
第9题
已定义一个圆形类Circle:class Circle { private: double r; public: void SetR(double x) { r = x; } double GetArea( ) { return 3.14*r*r; } }; 用Circle类定义一个对象数组:Circle c[3]; 则下列语句中错误的是( )。

A、for (int i = 0; i < 3; i++) { c[i].SetR(i*2.5); cout << c[i].GetArea() << endl; }

B、for (int i = 3; i >= 0; i++) { c[i].SetR(i*2.5); cout << c[i].GetArea() << endl; }

C、Circle *p = &c; for (int i = 0; i < 3; i++) { p->SetR(i*2.5); cout << p->GetArea() << endl; p++; }

D、Circle *p = &c[2]; for (int i = 2; i >= 0; i--) { p->SetR(i*2.5); cout << p->GetArea() << endl; p--; }

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

1. 搜题次数扣减规则:

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

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

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

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

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

订单号:

遇到问题请联系在线客服

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

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

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

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

简答题官方微信公众号

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