1、A. 抽彖类B. 虚函数C. 派生类D. 其他都不对C+类体系中,不能被派生类继承的冇()。A. 构造函数C. 静态成员函数D. 赋值操作函数下列虚基类的声明中,正确的是()。A. class virtual B:public AB. virtual class B:C. class B:public A virtualD. class B: virtual public A下列函数中,可以被定义为虚函数的是()。A类的静态成员函数B. 类的构造函数C. 非类的函数D. 类的非静态成员函数关于虚函数的描述屮,()是正确的。A. 虚函数是一个静态成员函数B. 虚函数是一个非成员函数C. 虚函数既
2、町以在函数说明吋定义,也可以在函数实现时定义D. 派牛类的虚函数与基类中対应的虚函数具有相同的参数个数和类型下而关于虚函数和函数重载的叙述不正确的是()。A. 虚函数不是类的成员函数B. 虚函数实现了 C+的多态性C. 函数重载允许非成员函数重载,而虚函数则不行D. 函数重载的调用根据参数的个数、序列来确定,而虚函数依据对彖确定 public A virtual下面正确的说法是 oA. 关键字virtual只能用來声明虚函数B. 声明虚函数时,才使用关键字virtualC. 关键字virtual不能川來声明虚棊类D. 关键字virtual能用来声明虚基类实现运行时的多态性耍使用()。A. 虚函
3、数B重载函数C. 析构函数D. 构造函数()是一个在基类中说叨的虚函数,它在该基类中没有定义,但要求任何派生类都必须定 义自己的版木。A. 纯虚函数B. 虚析构函数C. 虚构造函数D. 静态成员函数下列描述中,属于抽象类的性质是 。A. 可以说明虚函数D不能说明其对象卜列关于抽象类的说明屮不正确的是()oA. 含有纯虚函数的类称为抽象类B. 抽象类不能被实例化,但可声明抽象类的指针变量C. 抽象类的派生类可以实例化D. 纯虚函数可以被继承C下列特征小不是而向对象方法的主要特征的是( )oB. 继承C. 封装性D. 模块化填空题有如下类定义class Apublic:virtualintvf(i
4、 nt)二 0;;则类A为 类。第1空:抽象编译时多态性通过 和模板來实现重载有如下类定义:virtualintvf(int)=O;则成员函数vf为 函数。纯虚如果在类屮定义了一个成员函数为 则表明在该继承层次链条的派牛类中有可能重新定义这个成员函数的实现。虚函数虚函数的作用就是通过基类 去调用它所指的派牛类对象中的成员函数。指针抽象类的主要作用是为一个族类提供统一的 O公共接口声明虚函数时,被“初始化”为0的函数被称作 函数。有如F类定义:virtualintvf(int);则成员函数Vf为 函数。虚虚函数从表现形式看是指那些被 关键字修饰的成员函数。第 1 空:virtual多态性分为编译
5、时多态性和 多态性。运行时抽象类中至少要有一个 函数。函数重载可以实现 时多态性。编译含冇纯虚函数的类称为 O抽象类拥有纯虚函数的类是抽彖类,纯虚函数的声明以“ 结束。=0class Bvirtual void fl();virtual void f2();class D:public Bvoid fl();void f2(int x);则派生类D的成员函数fl()和f2()屮,虚函数为 ofl编译时多态性也称为 多态性。静态在C+屮,只能将类的 函数声明为虚函数,不能将类外的普通函数声明为虚函数。成员在C+屮,空虚函数的函数体是 的,纯虚函数无函数体。空 多态性乂称为动态多态性。拥有纯虚函数
6、的类是抽象类,抽象类不能用來定义 O对象 类无法创建对象实例。派生类的虚函数与基类屮对应的熄函数具有 的参数个数和类型。笫1空:相同要实现派生类对象的动态绑定,需要将基类中的某个成员函数定义为 在以卞语句的横线处填入适当的内容,以便在类中定义成员函数vf为虚函数。 intvf(int);判断多态性只能在编译的时候实现。错课抽象类也可以建立对象。错误虚函数只能川于类的继承层次结构屮。正确任何函数都能被芮明为虚函数。多态性只能通过重载来实现。抽象类的主要作用是为一个族类提供统一的公共接口。抽彖类包含纯虚函数。正确 纯虚隊I数也町以有两数休。错误 请写出下题的运行结果:#inelude using
7、namespace std;class Pointpublic:Point()virtual Point()coutvvexecuting Point destructorendl;classCircle:public PointCircle()Circle()coutHexecuting Circle destructorHprivate:intradus;int main()Point *p=new Circle;delete p;return 0;executing Circle destructorexecuting Point destructor请写出下题的运行结果:#includ
8、e class Stude ntStud ent(in t,string,float);virtual void display);protected:in tnum;string name;float score;Student:Student(intn,stringnam,float s)num二n ;name 二 n am;score=s;void Student:display()couttlnum:,lvnumH name:Hdisplay();num:2001n ame:Wa ngscore:98.5pay=1200void print () cout B;class D : pu
9、blic BDvoid main()D *pd = new D();B *pb = pd;pb-print();pd-deletepd;BD#in cludeviostreamclass T1voidfunl() coutTl virtual void fun2() coutclass T2 : public T1HT2 n;void fun2() coutnT2 “;void f(Tl & b)b.funl();b.fun2();T2 obj;f(obj);T1 T2# includefunl();fun2(); funlTestClasslfun 2TestClass请写出下题的运行结果:
10、#includename,name); char name30;const char * getName()const return name;virtual const char * getType()const return 11 未矢口类型*; private:class Book: public Publication / 卩类Book(char *name): Publication(name) virtual const char * getType()const return H IJ1;voidshowPublication( Publication &p) coutp.getType(),: Hp.getName()Book book(”精彩人生”);showPublicatio n(book);书:精彩人生
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1