高手请看,好像比较的难以解决
// test.cpp : Defines the entry point for the console application.//
#include "stdafx.h"
#include <iostream.h>
class A
{
public:
//A(){ cout<<"调用无参数构造函数"<<endl;}
A(int x=0):a(x){ cout<<"调用了A的含参数构造函数"<<endl;}
void show(){ cout<<"调用A类中的show() a="<<a<<endl; }
private:
int a;
};
class B:virtual public A
{
public:
B(int x=0,int y=0):A(x),b(y){}
void show(){
cout<<"------------------------------------"<<endl;
A::show();
cout<<"调用B类中的show() b="<<b<<endl;
}
private:
int b;
};
class C:virtual public A
{
public:
C(int x=0,int y=0):A(x),c(y){}
void show(int a){cout<<"CCCC"<<endl;}
private:
int c;
};
class D:public B,public C
{
public:
D(int x=0,int y=0,int m=0,int n=0):B(x,y),C(x,m),A(x),d(n){}
//void show(){}
private:
int d;
};
int main(int argc, char* argv[])
{
D d(1,2,3,4);
d.show();
return 0;
}
我这个程序是 B C 继承A D继承B C A类中有个show()函数,B中对其重写 ,C中对其重载 怎么D中调用show()的时候会发生错误呢, c++编程怎么久了 这个问题 还没有解决,请高手帮忙 !! 谢谢大家