1、 单项选择题(每题2分,共10道,共20分) 1.D 2.D 3.B 4.A 5.B 6.D 7.D 8.A 9.A 10.C 填空题(每空1分,共10个空,共10分) 1.public、private、protected (顺序任意) 2.静态 3.inline 或内联 4.友元函数 5.函数模板、类模板(顺序可以颠倒) 6.纯虚函数 7.throw 简答题(共3道小题,共10分) 1.答: (1) 在public派生下,基类中的public成员在派生类中是公有的,基类中的private 成员在派生类中是不可直接访
2、问的,基类中的protected成员在派生类中是protected的。(2分) (2)在private派生下,基类中的public成员在派生类中是私有的,基类中的private 成员在派生类中是不可直接访问的,基类中的protected成员在派生类中是私有的。(1分) (3) 在protected派生下,基类中的public成员在派生类中是protected的,基类中的private 成员在派生类中是不可直接访问的,基类中的protected成员在派生类中是protected的。(1分) 2.答: (1)生存期是指对象从建立到销毁的期间。(1分) (2)C++中包括静态生存期(1分)
3、和动态生存期(1分) 3.答: 调用顺序如下: 按照继承时声明顺序调用基类的构造函数(1分) 如果有内嵌对象成员,按照声明顺序构造这些对象成员(1分) 调用自己的构造函数体(1分) 程序分析题(每小题6分,共5道小题,共30分) 解: n=10,k=3 (2分) n=20,k=3 (2分) n=30,k=3 (2分) 该类定义有如下3处错误: (1)构造函数说明错误,应将Sample(int a=0,b=1)改为Sample(int a=0,int b=1) (2分) (2)构造函数在说明时已经给出默认值,在定义时就不用再给出默认值了。 (2分) (3)
4、在类中说明disp时没有给出数据类型,在定义时也要一致。(2分)
解:Sample是一个类模板(2分),产生一个模板类 Sample
5、 (2分)
A fun4 (2分)
编程题(共3道小题,共20分)
1.采分点如下:
(1)类的总体框架设计 (2分)
(2)类的成员函数的编写 (2分)
(3)主函数的编写 (2分)
R
#include
6、 petriod(float ul,float l) { unlead=ul; lead=l; total=unlead*unleadPrice+lead*leadPrice; } float getTotal() { return total; } }; int main() { petriod p(100,100); cout<
7、类 (3分)
(3)主函数 (2分)
#include
8、angle
{
private:
float heigh;
public:
Volume(float l,float w,float h):Rectangle(l,w){heigh =h;}
float volume(){return area()*heigh;}
};
int main()
{
Rectangle r(2,3);
Volume v(2,3,5);
cout< 9、 (2分)
(2)建立对象 (1分)
(3)打开文件,写入文件 (2分)
(5)关闭并读出文件内容 (2分)
#include 10、r *na)
{
strcpy(name,na);
}
void setGrade(int gr)
{
grade=gr;
}
void setClass(int cl)
{
classNo=cl;
}
int GetNo(){return no;}
char *GetName(){return name;}
int GetGrade(){return grade;}
int GetClass(){return classNo;}
};
int main()
{
stu S[2];
int sNo 11、
char sName[10];
int sGrade;
int sClassNo;
for(int i=0;i<2;i++)
{
cin>>sNo;
S[i].setNo(sNo);
cin>>sName;
S[i].setName(sName);
cin>>sGrade;
S[i].setGrade(sGrade);
cin>>sClassNo;
S[i].setClass(sClassNo);
}
ifstream ifile("data.txt",ios 12、base::in);
ofstream ofile("data.txt",ios_base::out);
for(i=0;i<2;i++)
{
ofile<






