问答题使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)基类Person完成打印功能,定义其中的打印函数为虚函数,请在注释//********1********后添加适当的语句。 (2)类Man继承于Person,在构造函数中设置性别为1,请在注释//********2********后添加适当的语句。 (3)类Woman继承于Person,在构造函数中设置性别为0,请在注释//********3********后添加适当的语句。 (4)实现函数fun(),用于传递不同的类型,打印出性别,请在注释//********4********后添加适当的语句。 输出的内容如下: Sex=Man Sex=Woman 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。#include<iostream.h>Class Person{public: //********1******** void print(){); int sex;};class Man:public Person{public: Man() { //********2******** } void print(){ cout<<"Man'<<end1; };};class Woman:public Person{public: Woman() { //********3******** ) void print(){ cout<<"Woman"<<end1; };};//********4********{ cout<<"Sex="; p.print();}int main(){ Man m; fun(m); Woman n; fun(n); return 0;}
问答题使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为: Number=8 注意:错误的语句在//********error********的下面,修改该语句即可。#include<iostream.h>class CMyClass{public: //********error******** void&Get() { return&Number; } Void Set(int m) { Number=m; } void display() { cout<<"Number="<<Number<<endl; }private: int Number;};Void main(){ int*p; //********error******** //********error******** p=t.Get(); *p=8; t.display();}
问答题使用VC6打开考生文件夹下的源程序文件modi1.epp,该程序运行时有错,请改正其中的错误,使程序正确运行,并且使程序输出的结果为: Hello Visual C++! Hello Visual C++!! 注意:错误的语句在//********error********的下面,修改该语句即可。#include<iostream.h>class CMyObject{public: CMyObject() { //********error******** cout<<"Hello, "Visual C++!"<<endl; } CMyObject(int n) { //********error******** cout<<"Hello,\nvisual C++!!"<<endl; } //********error******** ^CMyObject() { }};Void main(){ CMyObj ect obj1; CMyObject obj2(0); }
问答题使用VC++6.0打开
下的源程序文件1.cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:
number =1
number = 10
number = 100
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#include <iostream.h>
class TC
{
public:
TC(int i)
{
number=i;
}
void SetNumber(int m)
{
number=m;
}
int GetNumber()const
{
return number;
}
void Print() const
{
cout<<"number="<<number<<endl;
}
private:
int number;
};
void main()
{
//********error********
TC obj1;
obj1.Print();
TC obj2(3);
//********error********
obj1.number = 10;
//********error********
TC.SetNumber(100);
obj1.Print();
obj2.Print();
}
问答题请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了vehiele类,并派生出motorcar类和bicycle类。然后以motorcar和bicycle作为基类,再派生出motorcycle类。要求将Vehicle作为虚基类,避免二义性问题。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
80
150
100
1
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include
class vehicle
{
private:
int MaxSpeed;
int Weight;
public:
//*************found************
vehicle(int maxspeed,int weight):——
~vehicle(){};
int getMaxSpeed(){return MaxSpeed;}
int getWeight(){retum Weight;}
};
//****************found************
class bicycle:——public vehicle
{
private:
int Height;
public:
bicycle(int maxspeed,int weight,int height):vehicle(maxspeed,weight),Height(height){}
int getHeight(){retum Height;};
};
//*******************found**************
class motorcar:——public vehicle
{
private:
int SeatNum;
public:
motorcar(int maxspeed。int weight,int seatnum):vehicle(maxspeed,weight),SeatNum(seatnum){}
int getSeatNum(){return SeatNum;};
};
//*****************found***************
class motorcycle:——
{
public:
motorcycle(int maxspeed,int weight,int height):vehicle(maxspeed,weight),bicycle(maxspeed,weight,
height),motorcar(maxspeed,weight,1){}
};
void main()
{
motorcycle a(80,150,100);
cout<
问答题请使用VC6或使用【答题】菜单打开
proj1下的工程proj1,此工程中含有一个源程序文件proj1.cpp。其中位于每个注释“// ERROR ****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:
Constructor called.
The value is 10
Max number is 20
Destructor called.
注意:只能修改注释“// ERROR ****found****”的下一行语句,不要改动程序中的其他内容。
// proj1.cpp
#include <iostream>
using namespace std;
class MyClass {
public:
// ERROR ********found********
void MyClass (int i)
{value = i; cout << "Constructor called." << endl;}
int Max (int x, int y) {return x>y ? x : y;} //求两个整数的最大值
// ERROR *******found*******
int Max(int x, int y, int z = 0)
//求三个整数的最大值
{
if (x > y)
return x>z ? x : z;
else
return y>z ? y : z;
}
int GetValue () const {return value;}
~MyClass () {cout << "Destructor called." << endl;}
private:
int value;
};
int main()
{
MyClass obj(10);
// ERROR *******found*******
cout << "The value is" << value() << endl;
cout << "Max number is" << obj.Max(10,20) << endl;
return 0;
}
问答题请使用VC6或使用【答题】菜单打开
proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应元素之和。请编写这个operator+函数。程序的正确输出应该是:
两个数据表:
1,2,3,4,5,6
3,4,5,6,7,8
两个数据表之和:
4,6,8,10,12,14
要求:
补充编制的内容写在“// *******333*******”与“// *******666*******”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//DataList.h
#include <iostream>
using namespace std;
class DataList{ //数据表类
int len;
double * d;
public:
DataList(int len, double data[]=NULL);
DataList(DataList
int length() const {return len;}
double getElement (int i) const {return d[i];}
DataList operator + (const DataList //两个数据表求和
void show( const; //显示数据表
};
void writeToFile (char *, const DataList
//main.cpp
#include "DataList.h"
DataList::DataList (int len, double data[]):len(len) {
d=new double[len];
for(int i = 0; i < len; i ++)
d[i] = (data == NULL? 0.0:data[i]);
}
DataList::DataList (DataList
for(int i = 0; i < len; i++)
d[i] = data.d[i];
}
DataList DataList::operator +
(const DataList
// ********333********
// ********666********
return DataList (list.length(),dd);
}
void DataList::show() const { //显示数据表
for (int i = 0; i < len-1; i++)
cout << d[i] << ",";
cout << d[len-1] << endl;
}
int main() {
double s1[] = {1,2,3,4,5,6};
double s2[] = {3,4,5,6,7,8};
DataList list1(6, s1), list2(6, s2); //定义两个数据表对象
cout << "两个数据表:" << endl;
list1.show();
list2.show();
cout << endl << "两个数据表只和:" <<endl;
(list1 + list2).show();
writeToFile (" ", list1 + list2);
return 0;
}
问答题使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
每卖出一个瓜,则计算瓜的重量,还要计算所有卖出瓜的总重量以及总个数,同时允许退货,请按照以下的操作,把类补充完整
(1)定义类Cmelon的私有静态数据成员float型变量totalweight和int型变量totalNo,请在注释∥********1********后添加适当的语句。
(2)完成类Cmelon的带一个float型变量W的构造函数,并把这个W加到totalweight中,并且totalNo自加。请在注释∥********2********后添加适当的语句。
(3)在析构函数中,在totahveight中减去weight,然后totalNo自减,请在注释∥********3********后添加适当的语句。
(4)完成静态成员变量的初始化为0,请在注释∥********4********后添加适当的语句。
注意:增加代码,或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#inClude
class Cmelon
{
private:
float weight;
∥********1********
static int totaINo;
public:
Cmelon(flcat w)
{
∥********2********
totalweight+=w;
totaiNo++;
}
~Cmelon()
{
∥********3********
totalweight一=weight;
}
void display()
{
tout << “Sell a melon
with”<
问答题改错题
使用VC6打开考生文件夹下的工程kt9_1,此工程包含一个源程序文件kt9_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
4,5
20
源程序文件清单如下:
#include
classA
{ protected:
intn,m;
public:
voidset(inta,intb){m=a;n=b;}
voidshow(){cout<
问答题请使用VC6或使用【答题】菜单打开考生文件夹prog1下的工程prog1,该工程中包含程序文件main.epp,其中有Salary(“工资”)类和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句行有错误,请加以改正。改正后程序的输出结果应为: 应发合计:3500 应扣合计:67.5 实发工资:3432.5 注意:只修改每个“//ERROR****found****”下的那一行,不要改动程序中的其他内容。#include<iostream>using namespace std;class Salary{public: Salary(const char*id,double thebase,double the bonus,double thetax)//ERROR**********found********** :the base(base),the bonus(bonus),the tax(tax) { staff id=new char[strlen(id)+1]; strcpy(staff id,id); }//ERROR**********found********** 一Salary(){delete*staff_id;) double getGrossPay()const{returnbase+bonus;)//返回应发项合计 double getNetPay()const{return getGrossPay()一tax;}//返回实发工资额private: char*staff id; //职工号 double base; /基本工资 double bonus; //奖金 double tax; //代扣个人所得税 }; int main(){ Salary pay(”888888”,3000.0,500.0,67.50); cout;<<”应发合计:”<<pay.get;GrossPay()<<””; Gout<<”应扣合计:”<<pay.getGrossPay()一pay.getNetPay()<<””;//ERROR**********found********** cout:<<”实发工资:”<<pay::getNetPay()<<endl; return 0; }
问答题请使用VC6或使用[答题] 菜单打开考生文件夹proj3下的工程文件proj3。本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3. h、proj3. cpp、writeToFile. obj。补充完成重载赋值运算符函数,完成深复制功能。 屏幕上输出的正确结果应该是: Hello! Happy new year! 要求: 补充编制的内容写在“//**********333**********”与“//**********666**********”两行之间。不得修改程序的其他部分。 注意: 程序最后调用writeToFile函数,使用另一组不同的测试数据,将不同的运行结果输出到文件out. dat中。输出函数writeToFile已经编译为obj文件。 //proj3. h #inelude < iostream > #include < iomanip > using namespaee std; class MiniString public : friend ostream return output; friend istream //用于输入的临时数组 temp[0] = '/0'; //初始为空字符串 input >> setw( 100 ) >> temp; int inLen = strlen(temp) ;//输入字符串长度 if( inLen != 0) s. length = inLen; //赋长度 if( s. sPtr! = 0) delete []s. sPtr; //避免内存泄漏 s. sPtr = new char [s. length + 1] ; strepy( s. sPtr, temp ) ; //如果s不是空指针,则复制内容 else s. sPtr [0] = '/0'; //如果s是空指针,则为空字符串 return input ; void modString( const char * string2 ) //更改字符串内容 if ( string2 ! = 0 ) // 如果string2不是空指针,则复制内容 if ( strlen(string2) ! = length) length = strlen(string2) ; delete [] sPtr; sPtr = new char [length + 1]; //分配内存 strepy( sPtr, string2 ); else sPtr [0] = '/0';//如果string2是空指针,则为空字符串 MiniString MiniString( constchar *s = " "):length(( s ! = 0 ) ?strlen( s ) : 0 )//构造函数 sPtr = 0 ; if ( length ! = O) setString( s ); ~MiniString()//析构函数 delete [] sPtr; private : int length; //字符串长度 char * sPtr; //指向字符串起始位置 void setString( const char * string2 ) //辅助函数 sPtr = new char [strlen(string2) + 1]; //分配内存 if ( string2 ! = 0 ) strcpy( sPtr, string2 ) ; //如果string2不是空指针,则复制内容 else sPtr [0] = '/0'; //如果string2是空指针,则为空字符串 ; //proj3. cpp #include < iostream > #include < iomanip > using namespace std; #include "proj3. h" MiniString void writeToFile (const char * ) ; str2=str1; //使用重载的赋值运算符 str2. modString( "Happy new year!" ) ; cout << str1 <<'/n'; cout << str2 <<'/n'; writeToFile (" ") ; return 0 ;
问答题请使用VC6或使用[答题]菜单打开考生文件夹proj1下的工程proj1。此工程中包含源程序文件main.cpp,其中有类TVSet(“电视机”)和主函数main的定义。程序中位于每个“//ERROR ********found********”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是:
规格:29英寸,电源:开,频道:5,音量:18
规格:29英寸,电源:关,频道:-1,音量:-1
注意:只修改每个“//ERROR ****found****”下的那一行,不要改动程序中的其他内容。
#include <iostream>
using namespace Std;
class TVSet { //"电视机"类
const int size;
int channel; //频道
int volume; //音量
bool on; //电源开关:true表示开,false表示关
public:
TVSet (int size): size (size), channel(0), on{false)
// ERROR ********* found*********
{}
int getSize () const { return size; } //返回电视机规格
bool isOn()const{ return on;} //返回电源开关状态
//返回当前音量,关机情况下返回-1
int getVolume () const
{ return isOn()? volume : -1;}
//返回当前频道,关机情况下返回-1
int getChannel () const
{ return isOn()? channel: -1; }
void turnOnOff() { on=! on;} //将电源在“开”和“关”之间转换
void setChannelTo (int chan) {
if(isOn()
}
// ERROR ********* found*********
void setVolumeTo (int vol)const { //设置音量(关机情况下无效)
if(isOn()
}
void show state() {
cout << "规格:" <<getSize() << "英寸"<< ",电源:" << (isOn ()? "开" : "关")<< ",频道:" << getChannel ()<< ",音量:" << getVolume () << endl;
}
};
int main() {
TVSet tv (29);
tv.turnOnOff ();
tv. setChannelTo (5);
tv.show state();
tv.turnOnOff ();
tv.show state();
return 0;
}
问答题使用VC6打开下的源程序文件modi2.cpp。请完成函数fun(char*s1,char*s2),此函数的功能是计算s1中出现s2的个数,当不出现时,则返回0。如:s1为"1112223333aaaaeeffd"s2为"11"则返回1s2为"aa"则返回2注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include<iostream.h>//注意只能使用int类型,不能类型转换intfun(char*s1,char*s2){}voidmain(){chars1[1024];chars21256];cout"pleaseinputastring:"endl;cin.getline(s1,1024);cout"pleaseinputotherstring:"endl;cin.getline(s2,256);coutfun(s1,s2);coutendl;return;}
问答题请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中包含一个程序文件main.cpp,其中有日期类Date、人员类Person及排序函数sortByName和主函数main的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义和函数定义。此程序的正确输出结果应为:
按姓名排序
排序前:
张三 男 出生日期:1978年4月20日
王五 女 出生日期:1965年8月3日
杨六 女 出生日期:1965年9月5日
李四 男 出生日期:1973年5月30日
排序后:
李四 男 出生日期:1973年5月30日
王五 女 出生日期:1965年8月3日
杨六 女 出生日期:1965年9月5日
张三 男 出生日期:1978年4月20日
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include
using namespace std;
class Date{//日期类
int year,month,day;//年、月、日
public:
Date(int year,int month,int day):year(year),month(month),day(day){}
int getYear()const{return year;}
int getMonth()const{return month;}
int getDay()const{return day;}
};
class Person{ //人员类
char name[14];//姓名
bool is—male;//性别,为true时表示男性
Date birth—date;//出生日期
public:
Person(char*name,bool is—male,Date birth_date)
//***************found***************
:——————
{
{
strcpy(this一>name,name);
}
const char * getName()const{return name;}
bool isMale()const{return is—male;}
Date getBirthdate()const{return birth—date;}
//利用strcmp()函数比较姓名,返回一个正数、0或负数,分别表示大于、等于、小于
int compareName(const Person&p)const{
//***************found*****************
————}
void show(){
couti){
Person P=ps[m];
ps[m]=ps[i];
ps[i]=p;
}
}
}
int main(){
Person staff[]={
Person(”张三”,true,Date(1978,4,20)),
Person(”王五”,false,Date(1965,8,3)),
Person(”杨六”,false,Date(1965,9,5)),
Person(”李四”,tme,Date(1973,5,30))
};
const int size=sizeof(staff)/sizeof(staff[0]);
int i;
eout<
问答题请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数operator,以实现深层复制。 要求: 补充编制的内容写在“//**********333**********”与“//**********666**********”之间。不得修改程序的其他部分。 注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。 //CDeepCopy.h #include<iostream> #include<string> using namespace std; class CDeepCopy { public: int n;//动态数组的元素个数 int *p;//动态数组首地址 CDeepCopy(int); ~CDeepCopy(); CDeepCopy&operator=(const CDeepCopy&r);//赋值运算符函数 }; void writeToFile(char*); //main.cpp #include"CDeepCopy.h" CDeepCopy::~CDeepCopy(){delete[]p;} CDeepCopy::CDeepCopy(int k){n=k;p=new int[n];}//构造函数实现 CDeepCopy&CDeepCopy::operator=(const CDeepCopy&r)//赋值运算符函数实现 { //**********333********** //**********666********** } int main() { CDeepCopy a(2),d(3); a.p[0]=1;d.p[0]=666;//对象a,d数组元素的赋值 { CDeepCopy b(3);//调用赋值运算符函数 a.p[0]=88;b=a; cout<<b.p[0];//显示内层局部对象的数组元素 } cout<<d.p[0];//显示d数组元素a.p[0]的值 cout<<"d fade away;\n": cout<<a.p[0];//显示a数组元素a.p[0]的值 writeToFile(""); return 0; }
问答题使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,完成空出部分的程序。实现函数sort(int A[],int n),用冒泡法对数组数据进行排序。所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从0到n-1的数与其后面相邻的数交换,可以把最大的数交换到数组的末端。进行n次下标从0到n-1的交换,则数组变成有序的,并且按由大到小排序。 注意:不能修改和删除程序的其他部分,也不能修改程序的结构。 试题程序: #include<iostream.h> #define N 10 void sort(int A[N],int n) int main() int A[N]=1,50,17,69,87,42,90,-6,0,-11; sort(A,10); for(int i=0;i<sizeof(A)/sizeof(int);i++) cout<<A[i]<<''; cout<<end1; return 0;
问答题请使用VC6或使用【答题】菜单打开
proj1下的工程proj1,该工程中包含程序文件main.cpp,其中有关TVSet(“电视机”)和主函数main的定义。程序中位于每个“// ERROR ********found********”之后的一行语句有错误,请加以改正。改正后程序的输出结果应该是:
规格:29英寸,电源:开,频道:5,音量:18
规格:29英寸,电源:关,频道:-1,音量:-1
注意:只修改每个“// ERROR ****found****”下的那一行,不要改动程序中的其他内容。
#include <iostream>
using namespace std;
class TVSet{ //“电视机”类
const int size;
int channel; //频道
int volume; //音量
bool on; //电源开关:true表示开,false表示关
public:
// ERROR *******found*******
TVSet(int size) {
this -> size(size);
channel = 0;
volume = 15;
on = false;
}
int getSize() const {return size;} //返回电视机规格
bool isOn() const {return on;} //返回电源开关状态
//返回当前音量,关机情况下返回-1
int getVolume() const {return isOn()? volume:-1;}
/返回当前频道,关机情况下返回-1
int getChannel() const {return isOn()? channel: -1;}
// ERROR *******found*******
void turnOnOff() const //将电源在“开”和“关”之间转换
{on=! on;}
void setChannelTo (int chan){ //设置频道(关机情况下无效)
if (isOn()
}
void setVolumeTo (int vol){ //设置音量(关机情况下无效)
if(isOn()
}
void show_state() {
// ERROR *******found*******
cout << "规格:" << getSize() << "英寸"
<< ",电源:" << (isOn()? "开":"关")
<< ",频道:" << getChannel() << ",音量:" << getVolume()
<< endl;
}
};
int main() {
TVSet tv(29);
tv.turnOnOff();
tv.setChannelTo(5);
tv.setVolumeTo(18);
tv.show_state();
tv.turnOnOff();
tv.show_state();
return 0;
}
问答题请使用VC6或使用[答题] 菜单打开
proj2下的工程proj2。此工程中包含一个源程序文件main. cpp,其中有“房间”类Room及其派生出的“办公室”类Office的定义,还有主函数main的定义。请在程序中“//****found****”下的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
办公室房间号:308
办公室长度:5.6
办公室宽度:4.8
办公室面积:26.88
办公室所属部门:会计科
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include<iostream>
using namespace std;
class Room {//“房间”类
int room_no;//房间号
double length;//房间长度(m)
double width;//房间宽度(m)
public:
Room(int the_room_no, double the_length, double the_width): room_no(the_room_no), length(the_length), width(the_width) {}
int theRoomNo()const {return room_no;}
//返回房间号
double theLength()const {return length;}//返回房间长度
double theWidth()const {return width;}//返回房间宽度
//**********found**********
double theArea()const{______}//返回房间面积(矩形面积)
};
class Office: public Room {//“办公室”类
char*depart;//所属部门
public:
Office(int the_room_no, double the_length, double the_width, const char*the_depart)
//**********found**********
:______ {
depart=new char[strlen(the_depart)+1];
//**********found**********
strcpy(______);
}
~Office() {delete[]depart;}
const char*theDepartment()const {return depart;}//返回所属部门
};
int main() {
//**********found**********
Office______;
cout<<"办公室房间号:"<<an_office. theRoomNo()<<endl
<<"办公室长度:"<<an_office. theLength()<<endl
<<"办公室宽度:"<<an_office. theWidth()<<endl
<<"办公室面积:"<<an_office. theArea()<<endl
<<"办公室所属部门:"<<an_office. theDepartment()<<endl;
return 0;
}
问答题请使用VC6或使用[答题]菜单打开
proj2下的工程proj2,其中定义了vehicle类,并派生出motorcar类和bicycle类。然后以motorcar和bicycle作为基类,再派生出motorcycle类。要求将vehicle作为虚基类,避免二义性问题。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
80
150
100
1
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include<iostream. h>
class vehicle
{
private:
int MaxSpeed;
int Weight;
public:
//**********found**********
vehicle(int maxspeed, int weight):______
~vehicle() {};
int getMaxSpeed() {return MaxSpeed;}
int getWeight() {return Weight;}
};
//**********found**********
class bicycle:______public vehicle
{
private:
int Height;
public:
bicycle(int maxspeed, int weight, int height): vehicle(maxspeed, weight), Height(height) {}
int getHeight() {return Height;};
};
//**********found**********
class motorcar:______public vehicle
{
private:
int SeatNum;
public:
motorcar(int maxspeed, int weight, int seatnum): vehicle(maxspeed, weight), SeatNum(seatnum) {}
int getSeatNum() {return SeatNum;};
};
//**********found**********
class motorcycle:______
{
public:
motorcycle(int maxspeed, int weight, int height): vehicle(maxspeed, weight), bicycle(maxspeed, weight, height), motorcar(maxspeed, weight, 1) {}
};
void main()
{
motorcycle a(80, 150, 100);
cout<<a. getMaxSpeed()<<endl;
cout<<a. getWeight()<<endl;
cout<<a. getHeight()<<endl;
cout<<a. getSeatNum()<<endl;
}
问答题使用VC6打开
下的源程序文件modi2.cpp。阅读下列函数说明和代码,实现函数sort(int A[],int n),用选择排序法把数组从大到小排序。
提示:选择排序法的思想是:
(1)反复从还未排好的那部分线性表中选择出关键字最小的节点;
(2)按照从线性表中选择出的顺序排列节点,重新组成线性表;
(3)直到未排序的那部分为空,则重新形成的线性表是一个有序的线性表。
补充函数sort(intA[],int n),实现选择排序。
注意:请勿改动主函数。
#include <iostream.h>
#define N 10
void sort(int A[N],int n)
{
}
int main ()
{
int A[N]={1, 2, 10, 5,7, 19, 34,78,-3,8};
sort(A, 10);
for (int i=0;i<sizeof(A)/sizeof(int); i++)
{
cout
A[i]
" ";
}
cout
endl;
return 0;
}