《C 程序设计》上机指导与补充习题(9)

2020-04-15 13:38

Sample(inti,intj){x=i;y=j;}voidcopy(Sample&s);voidsetxy(inti,intj){x=i;y=j;}voidprint(){cout<<\};voidSample::copy(Sample&s){x=s.x;y=s.y;}voidfunc(Samples1,Sample&s2){s1.setxy(10,20);s2.setxy(30,40);}voidmain(){Samplep(1,2),q;q.copy(p);func(p,q);p.print();q.print();}4、分析以下程序的执行结果#includeclassSample{public:intx;inty;voiddisp(){cout<<\}};voidmain(){intSample::*pc;Samples;pc=&Sample::x;s.*pc=10;pc=&Sample::y;s.*pc=20;s.disp();}5、写出下面程序的执行结果#includeclassSample{intA;staticintB;public:Sample(inta){A=a,B+=a;}staticvoidfunc(Samples);};voidSample::func(Samples){cout<<\}intSample::B=0;voidmain(){Samples1(2),s2(5);Sample::func(s1);Sample::func(s2);}第4章继承与组合

一、选择题1、下面对派生类的描述中,错误的是()。A一个派生类可以作为另一个派生类的基类B派生类至少有一个基类C派生类的成员除了它自己的成员外,还包含了它的基类的成员D派生类中继承的基类成员的访问权限到派生类中保持不变2、在多继承中,公用继承和私有继承对于基类成员在派生类中的可访问性与单继承的规则是()。A完全相同B完全不同C部分相同,部分不同D以上都不对3、下面叙述不正确的是()。A派生类一般都是公用派生B对基类成员的访问必须是无二义性的C赋值兼容规则也适用于多重继承的场合D基类的公用成员在派生类中仍然是公用的4、下面叙述不正确的是()。A基类的保护成员在派生类中仍然是保护的B基类的保护成员在公用派生类中仍然是保护的C基类的保护成员在私有派生类中仍然是私有的D对基类成员的访问必须是无二义性的5、当保护继承时,基类的()在派生类中成为保护成员,不能通过派生类的对象来直接访问。A任何成员B公用成员和保护成员C公用成员和私有成员D私有成员6、若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()。A任何成员B公用成员C保护成员D私有成员7、设置虚基类的目的是()。A简化程序B消除二义性C提高运行效率D减少目标代码8、继承具有(),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。A规律性B传递性C重复性D多样性9、在公用继承情况下,有关派生类对象和基类对象的关系,不正确的叙述是()。A派生类的对象可以赋给基类的对象B派生类的对象可以初始化基类的引用C派生类的对象可以直接访问基类中的成员D派生类的对象的地址可以赋给指向基类的指针10、有如下类定义:classMyBASE{public:voidset(intn){k=n;}intget()const{returnk;}protected:intk;};classMyDERIVDE:protectedMyBASE{public:voidset(intm.intn){MyBASE::set(m);j=n;}intget()const{returnMyBASE::get()+j;}protected:intj;};则类MyDERIVDE中保护的数据成员和成员函数的个数是()。A4B3C2D111、有如下程序:#includeusingnamespacestd;classA{pubilc:A(){cout<<“A”;}};classB{public:B(){cout<<“B”;}};classC:publicA{public:C(){cout<<“C”;}private:Bb;};intmain(){Cobj;return0;}执行后的输出结果是()。ACBABBACCACBDABC12、有如下程序:#includeusingnamespacestd;classBASE{public:~BASE(){cout<<”BASE”;}};classDERIVED:publicBASE{public:~DERIVED(){cout<<”DERIVED”;}};intmain(){DERIVEDX;return0;}执行后的输出结果是()。ABASEBDERIVEDCBASEDERIVEDDDERIVEDBASE13、有如下程序:#includusingnamespacestd;classBase{public:voidfun(){cont<<”Base::fun”<fun()Dfun();二、填空题1、在C++中,三种继承方式的说明符号为、、,如果不加说明,则默认的继承方式为。2、当公用继承时,基类的公用成员成为派生类的;保护成员成为派生类的;私有成员成为派生类的。3、当保护继承时,基类的公用成员成为派生类的;保护成员成为派生类的;私有成员成为派生类的。4、当私有继承时,基类的公用成员成为派生类的;保护成员成为派生类的;私有成员成为派生类的。5、多继承时,多个基类中同名成员在派生类中由于标识符不唯一而出现。第5章多态性与虚函数

一、选择题

1、向不同的对象发送统一消息可导致完全不同的行为的现象称为()。A多态性B抽象C继承D封装2、多态调用是指()。A以任何方式调用一个虚函数B以任何方式调用一个纯虚函数C借助于指向对象的基类指针或引用调用一个虚函数D借助于指向对象的基类指针或引用调用一个纯虚函数3、下面关于抽象类说法不正确的是()。A抽象类是指具有纯虚函数的类B一个声明有纯虚函数的基类一定是抽象类C可以用抽象类定义对象D抽象类中可以进行构造函数的重载4、在C++中,用于实现运行时多态性的是()。A内联函数B重载函数C模板函数D虚函数5、关于纯虚函数,下列表述正确的是()。A纯虚函数是未给出实现版本(即无函数体定义)的虚函数B纯虚函数的声明总是以“=0”结束C派生类必须实现基类的纯虚函数D含有纯虚函数的类一定是派生类6、关于虚函数,下列表述正确的是()。


《C 程序设计》上机指导与补充习题(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国信贷风险专题分析报告2011年第14期—现金流视角下企业偿债能

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: