1、第七章习题答案 一、选择填空 1、D 2、A 3、B 4、C 5、A 6、C 7、B 8、D 9、 二、判断下列描述的对的性,对者划√,错者划×。 1、√ 2、× 3、× 4、× 5、√ 6、× 7、√ 8、√ 9、√ 10、× 11、√ 12、√ 13、× 14、√ 15、√ 16、× 17、√ 18、√ 三、分析下列程序的输出结果。 1、 (1)上述结构的DAG图如下所示。 (2)无二义性 (3)无二义性 2、(1)无 (2无 (3)有 (4)无 (5)有
2、四、分析下列程序的输出结果 1、运营该程序输出如下结果。 (1,2) 5,6 (6,9) 2、该程序的输出结果如下所示 (1,2) (6,9) 5,6 (6,9) 3、该程序的输出结果如下: (13,22,30,40) 4、运营该程序输出结果如下所示。 D2::display() pri1=4,pri2=5 pri4=6 pri12=7 D2::display() pri1=12 ,pri2=9 pri4=7 pri12=8 5、该程序输出结果如下所示: D2::display() pri1=1,pri2=4 pri4=6 pri12=7
3、
D2::display()
pri1=9,pri2=8
pri4=7
pri12=8
6、该程序输出结果如下所示:
base class
base class
base class
derive1 class
derive2 class
五、按下列规定编写程序。
1、程序内容如下所示。
#include
4、";cin>>no;
cout<<" 姓名:";cin>>name;
}
void disp()
{
cout<<" 编号:"<
5、"; cin>>degree;
}
void disp()
{
person::disp();
cout<<" 班号:"<
6、 depart ;
}
void disp()
{
person::disp();
cout<<" 职称:"<< prof< 7、1.disp();
}
2、程序内容如下所示。
#include 8、char *in_contents);
void print(){cout< 9、cursor(int how_much);
};
int string::set_contents(int in_length,char *in_contents)
{
length=in_length;
if (!contents) delete contents;
contents=new char[length+1];
strcpy(contents,in_contents);
return length;
}
int string::set_contents(char *in_contents)
{
length=strlen(in_c 10、ontents);
if (!contents) delete contents;
contents=new char[length+1];
strcpy(contents,in_contents);
return length;
}
int edit_string::add_at_cursor(string *new_text)
{
int n,k,m;
char *cp,*pt;
n=new_text->get_length();
pt=new_text->get_contents();
cp=this->get_contents 11、);
m=this->get_length();
char *news=new char[m+n+1];
for (int i=0;i 12、t_string::repl_at_cursor(string *new_text)
{
int n,m;
char *pt,*news;
n=new_text->get_length();
pt=new_text->get_contents();
m=this->get_length();
news=new char[m>n+cursor ? m+1 : n+cursor+1];
news=this->get_contents();
for(int i=cursor,j=0;i 13、
if (m 14、i]='\0';
}
void main()
{
string s1;
edit_string s2;
char *cp;
s1.set_contents("Object_Oriented Programming");
cp=s1.get_contents();
s2.set_contents(cp);
s2.print();
s2.move_cursor(15);
s1.set_contents("Windwos");
s2.add_at_cursor(&s1);
s2.print();
s2.move_curso 15、r(6);
s2.dele_at_cursor(9);
s2.print();
s1.set_contents(" TTT");
s2.repl_at_cursor(&s1);
s2.print();
}
3、程序内容如下所示。
#include 16、
float wheel_load();
void print();
};
class car:vehicle
{
int passenger_load;
public:
car(int wheels,float weight,int passengers=4);
int get_passengers();
void print();
};
class truck:vehicle
{
int passenger_load;
float payload;
public:
truck(int wheels,float weight,int passenge 17、rs=2,float max_load=240000.00);
int get_passengers();
float efficiency();
void print();
};
vehicle::vehicle(int wheels,float weight)
{
vehicle::wheels=wheels;
vehicle::weight=weight;
}
int vehicle::get_wheels()
{
return wheels;
}
float vehicle::get_weight()
{
return weight/wh 18、eels;
}
void vehicle::print()
{
cout<<" 车轮:"< 19、)
{
cout<<" 小车:"< 20、rn passenger_load;
}
float truck::efficiency()
{
return payload/(payload+weight);
}
void truck::print()
{
cout<<"卡车"< 21、ruck tru1(10,5000,3,340000);
car1.print();
tru1.print();
}
4、程序内容如下所示。
#include 22、
void pay(){}
void display(){}
};
class technician:public employee
{
private:
float hourlyrate;
int workhours;
public:
technician(){hourlyrate=100;}
void pay()
{
cout< 23、<<"(编号为:"< 24、name<<"(编号为:"< 25、esmanager:public manager,public salesman
{
public:
salesmanager()
{
monthlypay=5000;
commrate=0.005;
}
void pay()
{
cout<
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818