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、分析以下程序的执行结果#include
一、选择题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、有如下程序:#include
一、选择题
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、关于虚函数,下列表述正确的是()。