2、2)关于虚函数,下列说法不正确的是A.不允许以虚函数作为构造函数B.没有虚函数便无法实现多态C.一般来讲,如果一个类中定义了虚函数,则不可将析构函数也定义为虚函数D.不能用抽象类定义对象
2、2)关于虚函数,下列说法不正确的是
A.不允许以虚函数作为构造函数
B.没有虚函数便无法实现多态
C.一般来讲,如果一个类中定义了虚函数,则不可将析构函数也定义为虚函数
D.不能用抽象类定义对象
参考答案和解析
基类中采用virtual 声明一个虚函数后,派生类中定义相同原型的函数时可以不加virtual声明
相关考题:
关于纯虚函数,下列说法不正确的是( )。 A.纯虚函数是在声明虚函数时被初始化为0的函数B.纯虚函数没有函数体C.纯虚函数可以被调用D.如果在一个类中声明了纯虚函数,该虚函数中在派生类中仍有可能为虚函数
下列关于虚函数的说明中,正确的是 brA .从虚基类继承的函数都是虚函数 brB .虚函数不得是静态成员函数 brC .只能通过指针或引用调用虚函数 brD .抽象类中的成员函数都是虚函数 br
对于类定义: class A{ public: virtual void func1( ){} void func2( ){} }; class B:public A{ public: void func1(){cout<<"class B func 1"<<end1;} virtual void func2(){cout<<"class B func 2"<<end1;} }; 下面叙述正确的是(53)。A.A∷func2()和B∷func1()都是虚函数B.A∷func2()和B∷func1()都不是虚函数C.B∷func1()是虚函数,而A∷func2()不是虚函数D.B∷func1()不是虚函数,而A∷func2()是虚函数
对于类定义class A{public:virtual void funcl(){}void func2(){}};class B:public A{public:void funcl(){cout "class B func 1”virtual void func2(){cout "class B func 2"};下面正确的叙述是A.A::func2()和B::funcl()都是虚函数B.A::func2()和B::funcl()都不是虚函数C.B::funcl()是虚函数,而A::func2()不是虚函数D.B::funcl()不是虚函数,而A::func2()是虚函数
下列关于虚函数与函数重载区别的叙述中不正确的是( )。A.函数说明形式上不同B.函数重载允许是非成员函数,虚函数只能是成员函数C.函数重载的调用依据参数和类型的差别,虚函数则依据对象D.函数重载的本体可以在类外定义,虚函数不可以
关于纯虚函数,下列表述中正确的是( )。A.纯函数是没有给出实现版本(即无函数体定义)的虚函数B.纯虚函数的声明总是以“=0”结束C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类不可能是派生类
下列关于构造函数和析构函数的描述,错误的是( )。A.析构函数中调用虚函数采用静态联编B.对虚析构函数的调用可以采用动态联编C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数D.构造函数可以声明为虚函数
下列有个虚函数说法不正确的有()。A、虚函数是静态的B、虚函数声明只能出现在类定义的函数原型声明中C、一个虚函数无论被公有继承多少次,它仍然保持其虚函数的特性D、定义了虚函数后,程序中声明的指向基类的指针就可以指向其派生类
下列关于纯虚函数的描述中,正确的是( )。A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数B.纯虚函数的声明总是以“=0;”结束C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类不能是派生类
对于类定义 classA{ public: virtual void func1(){} void func2(){} }; Class B:public A{ public: void funcl(){cout <<”class B func1” <<end1;} virtual void func2(){cout <<"class B func 2" <<end1;} }; 下面正确的叙述是A.A∷func2()和B∷funcl()都是虚函数B.A∷func2()和B∷funcl()都不是虚函数C.B∷funcl()是虚函数,而A∷func2()不是虚函数D.B∷funcl()不是虚函数,而A∷func2()是虚函数
下列关于虚函数的说法中,正确的是( )。A.如果在重定义虚函数时使用了保留字virtual,则该重定义函数仍然是虚函数B.虚函数不得声明为静态函数C.虚函数不得声明为另一个类的私有函数D.派生类必须重新定义基类的虚函数
关于虚函数,下列表述正确的是( )。A.如果重定义虚函数时使用了保留字virtual,则该重定义函数仍然是虚函数B.虚函数不得声明为静态函数C.虚函数不得声明为另一个类的朋友函数D.派生类必须重新定义基类的虚函数
下列关于虚函数的描述中,正确的是( )。A.如果在重定义函数时使用了保留字virtual,则该重定义函数仍然是虚函数B.虚函数不得声明为静态函数C.虚函数不得声明为另一个类的友元函数D.派生类必须重新定义基类的虚函数
关于纯虚函数,下列表述中正确的是( )。A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数B.纯虚函数的声明总是以“=0”结束C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类不可能是派生类
下列关于抽象类和纯虚函数的说法错误的是( )。A.抽象类只能作为基类使用,而纯虚函数的实现由派生类给出B.抽象类是指具有纯虚函数的类C.纯虚函数是一种特殊的虚函数,它允许没有具体的实现D.一个基类的说明中有纯虚函数,则该基类的派生类一定不再是抽象类
对于类定义 class A{ public: virtual void func1( ){} void func2( ){} }; class B:public A{ public: void func1( ){cout<<"class B func 1"< < end1;} virtual void func2( ){cout << "class B func2"<< end1;} }; 下面正确的A.A::func2( )和B::func1( )都是虚函数B.A::func2( )和B::func1( )都不是虚函数C.B::func1( )是虚函数,而A::func2( )不是虚函数D.B::func1( )不是虚函数,而A::func2( )是虚函数
关于纯虚函数,下列表述正确的是( )。A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数B.纯虚函数的声明总是以“=0”结束C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类不可能是派生类
对于类定义:classA{public:virtualvoidfuncl(){}voidfunc2(){}};classB:publicA{public:voidfuncl(){coutclassBfunc1endl;}virtualvoidfunc2(){coutclassBfunc2endl;}};下面正确的叙述是( )。A.A::func2( )和B::func1( )都赵虚函B.A::rune2( )和B::func1( )都不是虚函数C.B::func1( )是虚函数,而A::fune2( )不是虚函数D.B::func1( )不是虚函数,而A::func2( )是虚函数
单选题关于虚函数,以下说法正确的是( )。A若在重定义虚函数时使用了virtual,则该重定义函数还是虚函数B虚函数不能声明为友元C子类必须重定义父类的虚函数D虚函数不能是static的