选择题: 1c++中的类有两种用法:种是类的实例化,即生成类的对象, 并参与系统的运行;另一种是通过 派生出新的类 A.复用B继承C单继承D多继承 2继承具有b,即当基本类本身也是某个类的派生类时,底层 的派生类也会自动继承间接基类的成员 A.规律性B.传递性C重复性D多样性 3在派生类中定义的析构函数与它所属的基类d A.一定有关B.一定无关C以上都不对D.可能有关 在多继承中,公有派生和私有派生对于基类成员在派生类中的 可访问性与单继承的规则a A.完全相同 B完全不同 C部分相同部分不同D以上都不对 C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 1 1 c++中的类有两种用法:一种是类的实例化,即生成类的对象, 并参与系统的运行; 另一种是通过______,派生出新的类. A. 复用 B.继承 C.单继承 D.多继承 2 继承具有_____,即当基本类本身也是某个类的派生类时,底层 的派生类也会自动继承间接基类的成员. A. 规律性 B.传递性 C.重复性 D.多样性 3 在派生类中定义的析构函数与它所属的基类____. A. 一定有关 B.一定无关 C.以上都不对 D. 可能有关 4 在多继承中,公有派生和私有派生对于基类成员在派生类中的 可访问性与单继承的规则______. A. 完全相同 B.完全不同 C.部分相同部分不同 D.以上都不对 一、选择题: c b d a
5下列关于继承的描述中,D是错误的。 A析构函数不能被继承 B派生类是基类的组合 C派生类成员除了它自己成员外,还包含了它的基类的成员 D派生类中继承的基类成员的访问权限到派生类保持不变 6下列虚基类的声明中正确的是D A)class virtual B: publ ic A B)virtual class B: publ ic A C)class B: publ ic A virtual D)class B: virtual publ ic A C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 2 5 下列关于继承的描述中, 是错误的。 A析构函数不能被继承 B派生类是基类的组合 C派生类成员除了它自己成员外,还包含了它的基类的成员 D派生类中继承的基类成员的访问权限到派生类保持不变 6下列虚基类的声明中正确的是 A)class virtual B : public A B)virtual class B: public A C)class B : public A virtual D)class B : virtual public A D D
7下列对派生类的描述中,错误的是 A)一个派生类可作为另一个派生类的基类 B派生类至少有一个基类 C派生类的缺省继承方式是 private D派生类只继承了基类的公有成员和保护成员 C++程序设计课件设计制作:徐龙琴 3
C++程序设计课件 设计制作:徐龙琴 3 7下列对派生类的描述中,错误的是 A)一个派生类可作为另一个派生类的基类 B)派生类至少有一个基类 C)派生类的缺省继承方式是private D)派生类只继承了基类的公有成员和保护成员 C
二读程题: 1. #include <iostream. h> class base i public: Baseoi cout<<Base"<<end;) class Derived1l virtual public Base ipublic: Derived11oi cout<< Derivedll"<<end;3; class Derived12: virtual public Base dpublic: Derived< cout<<" Derived 12"<<end; class Derived2 public base dpublic: Derived20i cout<< Derived2 <<end; class Derived3: public Derived1, public deriv运行结果为 public derived2 Base ipublic Der ived11 Derived30i cout<<"Derived3"<<endl; Der ived12 void maino i Derived obj; BD ase er i ved C++程序设计课件设计制作:徐龙琴 Der ived3
C++程序设计课件 设计制作:徐龙琴 4 二 读程题: 1.#include <iostream.h> class Base { public: Base() { cout<<"Base"<<endl; } }; class Derived11 : virtual public Base {public: Derived11() { cout<<"Derived11"<<endl; } }; class Derived12 : virtual public Base {public: Derived12() { cout<<"Derived12"<<endl; }}; class Derived2 : public Base {public: Derived2() { cout<<"Derived2"<<endl; } }; class Derived3 : public Derived11, public Derived12, public Derived2 {public: Derived3() { cout<<"Derived3"<<endl; } }; void main() { Derived3 obj; } 运行结果为: Base Derived11 Derived12 Base Derived2 Derived3
2. #include <iostream. h class base dpublic: Base(int x, int y) a=x; b=y void Showo cout<<" Base <b<<end; private: int a, b class Derived public Base dpublic: Derived (int x, int y, int z): Base(x, y), c(z) void Showo cout<< Derived: <<c<<end; j private: int c;; void maino i Base b(50, 50), pb; Derived d( 10, 20, 30); pb=&b pb->ShowO 运行结果为 d Show O; Base:50,50 Derived: 30 C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 5 2. #include <iostream.h> class Base {public: Base(int x,int y) { a=x; b=y; } void Show() { cout<<"Base: "<<a<<","<<b<<endl; } private: int a,b;}; class Derived : public Base {public: Derived(int x,int y,int z) : Base(x,y),c(z) { } void Show() { cout<<"Derived: "<<c<<endl; } private: int c;}; void main() { Base b(50,50),*pb; Derived d(10,20,30); pb=&b; pb->Show(); d.Show(); } 运行结果为: Base:50,50 Derived:30