4. 在下划线处填上缺少的部分。
#include
void Setij(int a,int b){i=a,j=b;} ~Samp()
{cout<<\int GetMuti(){return i*j;} protected: int i; int j; };
int main() {Samp *p;
p=new Samp[5]; if(!p)
{cout<<\\n\return 1; }
for(int j=0;j<5;j++) p[j].Setij(j,j); for(int k=0;k<5;k++)
cout<<\[\] is:\[k].__________< 5. 请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为: 11,10 13,12 #include A(int i=0){a=i;} int Geta(){return a;} void show(){cout< class B {A a; int b; public: B(int i,int j)_________ {} void show(){cout< void main() {B b[2]={B(10,11),B(12,13)}; for(int i=0;i<2;i++) __________ } 五、程序分析题(本大题共2小题,每小题5分,共10分) 1. 给出下面程序输出结果。 #include Base(int y=0) {Y=y;cout<<\\n\~Base() {cout<<\\n\void print() {cout < class Derived:public Base {private: int Z; public: Derived (int y, int z):Base(y) {Z=z; cout<<\\n\} ~Derived() {cout<<\~Derived()\n\void print() {Base::print(); cout< void main() {Derived d(10,20); d.print(); } 2. 给出下面程序输出结果。 #include test(int i=0):x(i){} virtual void fun1() {cout << \}; class ft:public test {int y; public: void fun1(){cout <<\ft(int i=2):test(i),y(i){} }; void main() { ft ft1(3); void (test::*p)(); p=test::fun1; (ft1.*p)(); } 六、程序设计题(本大题共1小题,共10分) 1. 求n(n=3)个学生的最高分和最低分及姓名,已有student类声明和main函数,完成 student类的实现部分。 #include student(char na[]=\char * getname(); friend int compare(student &s1,student &s2); int getdeg(); }; void main() {student st[]={student(\王强\李刚\张雪\int i=0,min=0,max=0; for(i=1;i<3;i++) {if(compare(st[max],st[i])==-1) max=i; if(compare(st[min],st[i])==1) min=i; } cout<<\最高分:\[max].getdeg()<<\姓名:\[max].getname()< 2010年全国自考C++程序设计模拟试卷(六) 一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中 只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无 分。 1. 当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中() A. 都是虚函数 B. 只有被重新说明时才是虚函数 C. 只有被重新说明为virtual时才是虚函数 D. 都不是虚函数 2. 以下基类中的成员函数表示纯虚函数的是 () A. virtual void vf(int) B. void vf(int)=0 C. virtual void vf()=0 D. virtual void yf(int){} 3. 下面对静态数据成员的描述中,正确的是() A. 静态数据成员可以在类体内进行初始化 B. 静态数据成员可以直接用类名或者对象名来调用 C. 静态数据成员不能用private控制符修饰 D. 静态数据成员不可以被类的对象调用 4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体 也就是() A. 类 B. 对象 C. 函数体 D. 数据块 5. 类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针 ,则p->A::func()将() A. 调用类A中的函数func() B. 调用类B中的函数func() C. 根据p所指的对象类型而确定调用类A中或类B中的函数func() D. 既调用类A中函数,也调用类B中的函数 6. 在面向对象的程序设计中,首先在问题域中识别出若干个 () A. 函数 B. 类 C. 文件 D. 过程 7. 在下列成对的表达式中,运算结果类型相同的一对是() A. 7.0/2.0和7.0/2 B. 5/2.0和5/2 C. 7.0/2和7/2 D. 8/2和6.0/2.0 8. 下列不具有访问权限属性的是() A. 非类成员 B. 类成员 C. 数据成员 D. 函数成员 9. 以下有关继承的叙述正确的是 () A. 构造函数和析构函数都能被继承 B. 派生类是基类的组合 C. 派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员 D. 基类的公有成员一定能被派生类的对象访问 10. 下列有关模板和继承的叙述正确的是 () A. 模板和继承都可以派生出一个类系 B. 从类系的成员看,模板类系的成员比继承类系的成员较为稳定 C. 从动态性能看, 继承类系比模板类系具有更多的动态特性 D. 相同类模板的不同实例一般没有联系,而派生类各种类之间有兄弟父子等关系 11. 适宜采用inline定义函数情况是() A. 函数体含有循环语句 B. 函数体含有递归语句 C. 函数代码少、频繁调用 D. 函数代码多、不常调用 12. 要采用动态多态性,说法正确的是() A. 基类指针调用虚函数 B. 派生类对象调用虚函数 C. 基类对象调用虚函数 D. 派生类指针调用虚函数 13. C++类体系中,不能被派生类继承的有() A. 转换函数 B. 构造函数 C. 虚函数 D. 静态成员函数 14. 下列不是描述类的成员函数的是() A. 构造函数