[问答题]

类ClassB从ClassA派生,那么ClassA*a=newClassB(…);试问该表达是否合法?为什么?

参考答案与解析:

相关试题

对于类定义 classA{ public: virtualvoidfuncl()

[单选题]对于类定义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()都不是虚

  • 查看答案
  • 若有以下程序:#includeusingnamespacestd;classA{

    [单选题]若有以下程序:includeusingnamespacestd;classA{private:int x; public:int x;void s若有以下程序: #include<iostream> usingnamespacestd; classA { private: int x; public: int x; void setx(int i) { x=i; } int getx() { return x; } }; class B:public A { private: int m; pu

  • 查看答案
  • 有如下程序 #includeusingnamespacestd;classA{p

    [单选题]有如下程序#includeusing namespace std;class A{public:virtual Void funcl(){cout<< “A1”;}void fune2(){cout<< “A2”;}};class B: public A{public:void func1(){cout<< “B1”;}void func2(){cout<< “B2”;}};Int main(){A.*p=new B;p->funcl();p

  • 查看答案
  • 下面程序的运行结果为 #include classA { public: A()

    [单选题]下面程序的运行结果为#includeclass A{public:A.(){cout<<”1”;}~A(){cout<<”2”;}}class B:public A{public:B.(){cout<<”3”;}~B(){cout<<”4”;}}void main(){B. b;}A.1234B.1324C.1342D.3142

  • 查看答案
  • 有以下源程序:package test;public class ClassA{

    [单选题]有以下源程序: package test; public class ClassA { int x=20; static int y=6; public static void main(String args[]) { ClassB b=new ClassB(); b.go(10); System.out.println("x="+b.x); } } class ClassB { int x; void go(int y) { ClassA a=new ClassA(); x=a.y; }

  • 查看答案
  • 有以下源程序:package test;public class ClassA{

    [单选题]有以下源程序: package test; public class ClassA { int x=20; static int y=6; public static void main(String args[]) { ClassB b=new ClassB(); b.go(10); System.out.println("x="+b.x); } } class ClassB { int x; void go(int y) { ClassA a=new ClassA(); x=a.y; }

  • 查看答案
  • 下面程序的运行结果为 #include classA { staticintn;

    [单选题]下面程序的运行结果为#includeclass A{static int n;public:A.(){n=1;}A.(int num){n=num;}void print(){coot <}int A::n=2:void main(){A. a.b(3);a.print();b.pint();cout <}A.11B.13C.23D.33

  • 查看答案
  • 下面程序的结果为 #include intc; classA { private

    [单选题]下面程序的结果为#includeint c;class A{private:int a;static int b;public;A.(){a=0;c=0;}void seta(){a++;}void setb(){b++;}void setc(){c++;}void display(){cout <<<<int A::b=0;void main(){A. al,a2;al.seta();al.setb();al.setc();a2.seta();a2.setb();a3.

  • 查看答案
  • 以下程序中,错误的行是 ①#include ②classA ③{ ④public

    [单选题]以下程序中,错误的行是①#include②class A③{④ public:⑤ int n=2:⑥ A( int val){cout<<⑦ ~A(){};⑧};⑨void main()⑩{⑩ A a(0);⑩}A.⑤B.⑥C.⑦D.⑩

  • 查看答案
  • 下列程序的运行结果是 #include classA { inta; publi

    [单选题]下列程序的运行结果是#includeclass A{int a;public:A.(){a=0;}A.(int as){a=as;cout<}};void main(){A.x,y(2),z(3);cout<}A.1B.2C.3D.4

  • 查看答案
  • 类ClassB从ClassA派生,那么ClassA*a=newClassB(…)