问答题

使用VC++6.0打开考生文件夹下的源程序文件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的构造函数,该构造函数有3个整型的参数x,y和z,在构造函数中请将x赋值给数据成员C,将y和z分别赋值给基类A1构造函数的参数x和y。请在注释“//********3********”之后添加适当的语句。
(4)完成类A2的成员函数show的定义,该函数调用基类成员函数,输出基类数据成员a和b及类A2自身的数据成员C的值,上述3个值在输出时以空格隔开。请在注释“//********4********”之后添加适当的语句。
程序输出结果如下:
7
3
738
注意:除在指定的位置添加语句之外,请不要改动程序的其他部分。
试题程序:
#include<iostream.h>
classA
{
inta;
public:
//********1********
intgeta(){returna;}
};
classA1:publicA
{
intb;
public:
//********2********
intgetb(){returnb;}
};
classA2:publicA1
{
intC;
public:
//****,****3********
voidshow()
{
//********4********
}
};
voidmain()
{
A2a(8.3.7):
cout<<a.geta()<<endl:
cout<<a.getb()<<endl:
a.show();
}

【参考答案】

(1)“A(intx){a=x;}”。
(2)“A1(intx,inty):A(y){b=x;}”。

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)

相关考题

判断题 ( )总应力破坏包线和有效应力破坏包线都通过原点,说明未受任何固结压力的土不会具有抗剪强度。

问答题 使用VC++6.0打开考生文件廷下的源程序文件3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整,使其输出的结果为 TCA TCB TCC (1)完成类B虚继承于A,请在注释1后添加适当的语句。 (2)完成类C虚继承于A,请在注释2后添加适当的语句。 (3)完成类D继承于B,C,请在注释3后添加适当的语句。 (4)函数fun通过调用基类的fun,完成所输出的内容,请在注释4后添加适当的语句。 注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。 试题程序: #include<iostream.h> classTCA { public: voidfun() { cout<<"TCA"<<endl; } }; //********1********classTCB { public: voidfun() { cout<<"TCB"<<endl; } }; //********2********classTCC { public: voidfun() { cout<<"TCC"<<endl; } }; //********3********classTCD { public: voidfun() { //********4********} }; voidmain() { TCDtest; test.fun(); return; };

判断题 ( )砂性土地基上建造建筑物,当施工速度一般时,应选择慢剪。

问答题 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出为 10 TC1 注意:不要改动main函数,不能增加或删除行,也不能 更改程序的结构,错误的语句在//******error******的下面。 试题程序: #include<iostream> classTC1 { public: TC1() { } //********error******** private: virtual~TC1() { usingnamespacestd; cout<<"TCl"<<endl; } }; classTC2:publicTC1 { public: //********error******** explicitTC2(inti) { m_i=i; } TC2&operator()(inti) { this->m_i=i; } voidprint() { //********error******** cout<<m_j<<endl; } private: intm_i; }; voidfun(TC2C1) { C1.print(); } intmain() { fun(TC2(10)); return0; }

填空题 请补充main()函数,该函数的功能是:把一个整数插入一个已经按从小到大排序的数组中。插入后,数组仍然有序。 例如,在数组bb[M]={10 20 30 40 50 60 70 80 85 95} 中插入75,结果为 bb[M]={10 20 30 40 50 60 70 75 80 85 95} 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdlib.h> #include<stdio.h> #define M 10 void main() { int i,j; int n; int bb[M+1]={10,20,30,40,50,60,70,80,85,95}; system("CLS"); printf("\nlnput n n"); scanf("%d",&n); printf("\nn=%d",n); printf("\n***original list***\n"); for(i=0;i<M;i++) printf("%4d",bb[i]); for(i=0;i<M;i++) { if(n<=bb[i]) { for(j==M;【1】 ;j--) 【2】 ; bb[j]=n; 【3】 ; } } if(i==M) bb[i]=n: printf("\n****new list****\n"); for(i=0;i<M+1;i++) printf("%4d",bb[i]); }

问答题 使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(intx)的定义,该函数功能是判定x的所有约数,并且在函数中调用写函数WriteFile将结果输出到2.txt文件中。 例如:x=100的约数为124510202550100。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<iostream) #include(fstream) #include(cmath) usingnamespacestd; voidWriteFile(intc) { ofstreamout1; out1.open("2.txt",ios_base::binary|ios_base::app); out1<<c<<';’ out1.close(); } voidfun(intx) { } voidClearFile() { ofstreamout1; out1.open("2.txt"); out1.close(); } intmain() { ClearFile(); fun(100); return0; }

判断题 ( )同一固结土样(正常固结)排水剪和固结不排水剪,它们所得到的有效应力强度指标基本相同。

判断题 土是由碎散矿物颗粒组成的,不是连续体。( )

问答题 使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。每卖出一个水果,则计算水果的重量,还要计算所有卖出水果的总重量以及总个数,同时允许退货,请按照以下的操作,把类补充完整。 (1)定义类TCFruit的私有静态数据成员float型变量AllWeight和int型变量AllN0,请在注释1后添加适当的语句。 (2)完成类TCFruit的带一个float型变量w的构造函数,并把这个w加到AllWeight中,并且AllNo自加。请在注释2后添加适当的语句。 (3)在析构函数中,在AllWeight中减去weight,然后AllNo自减,请在注释3后添加适当的语句。 (4)完成静态成员变量的初始化为0,请在注释4后添加适当的语句。 注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。 试题程序: #include(iostream.h> classTCFruit { private: floatWeight; //********1******** staticintAllNo; public: TCFruit(floatw) { //********2******** AllWeight+=w: AllNo++: } ~TCFruit() { //********3******** AllWeight-=Weight: } voiddisplay() { cout<<"SellaFruitwith"<<Weight<<"k9"<< endl; cout<<”Allsellnumber:"<<AllNo<<endl; cout<<"Allsellweight:"<<AllWeight<<"k9"<< endl<<endl; } }; //********4******** floatTCFruit::AllWeight=0.0; intmain() { TCFruitFruitl(1.2); Fruitl.display(); TCFruitFruit2(2.3); Fruit2.display(); return0; }

问答题 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为 Constructor,i=0, Destructor 注意:错误的语句在//******error******的下面,修改该语句即可。 试题程序: #include(iostream.h) classTC { inti; public: TC(); voiddisplay(); ~TC(); }; //******error****** TC:TC() { cout<<"Constructor"<<","; i=0; ) //******error****** TC:display() { tout<<"i="<<i<<","<<endl; } //******error****** TC:TC() { COUI<<"Destructor"<<endl: } voidmain() { TCa; a.display(); }