已知B类是A类的派生类,且有定义:A a, *p1; B b, *p2=&b;,则下列选项中属于非法操作的是( )。
A. b=a;
B. p1=&b;
C. A &a2=b;
D. p1=p2;
假设类X以类Y作为它的一个基类,并且X类和Y类具有相同格式的函数func(),obj为类X的对象,则obj.func()语句实现的功能为( )。
A. 先执行类X的func(),再执行类Y的func()
B. 先执行类Y的func(),再执行类X的func()
C. 执行类X的func()
D. 执行类Y的func()
下列程序中,划线处正确的语句是()。#includeusing namespace std;class Base{public:void fun() {cout<<”Base::fun”<
A. fun()
Base.fun()
C. Base::fun()
D. Base->fun()
下列程序中,编译时不会出错的语句是()。#includeusing namespace std;class Base{public:Base(){}Base(int i){data=i;}private:int data;};class Derived:public Base{public:Derived():Base(0)Derived(int x):Base(x)};int main(){ Derived d1(1);Base *pb,b1;pb=&d1 //Ad1=b1; //BBase &refB=d1;Derived d2=*pb; //CDerived &refD=refB //Dreturn 0;}
A. pb=&d1
B. d1=b1;
C. Derived d2=*pb;
Derived &refD=refB