64,649
社区成员
发帖
与我相关
我的任务
分享
class B: A
{
};
A* = new B; //error
class A{};
class B:public A{};
class C:protected A{};
class D:private A{};
class E:public B{};
class F:public C{};
class G:public D{};
void main(){
A *pb, *pc, *pd, *pe, *pf, *pg;
pb = new B; // 正确 public派生,可以转换[*B ---> *A].
pc = new C; // 错误 protected派生,不可转换[*C -\-> *A].
pd = new D; // 错误 private派生,不可转换[*D -\-> *A].
pe = new E; // 正确 public派生的子类,可以转换[*E ---> *A].
pf = new F; // 错误(按话的意思是正确,但VC编译是错误)protected派生的子类.
pg = new G; // 错误 private派生的子类,不可转换[*G -\-> *A].
}
class A{};
class B:public A{};
class C:protected A{};
class D:private A{};
class E:public C{};
class F:public D{};
void main(){
A *pb, *pc, *pd, *pe, *pf;
pb = new B; // 正确
pc = new C; // 错误
pd = new D; // 错误
pe = new E; // 错误(按话的意思是正确,但VC编译是错误)
pf = new F; // 错误
}