#include<iostream>
using namespace std;
class Base1
{
public:
virtual void Test()
{
cout<<"Base1 Test()"<<endl;
}
};
class Base2
{
public:
virtual void Test()
{
cout<<"Base2 Test()"<<endl;
}
};
class Derived :public Base1, public Base2
{
public:
void Test() // 直接重写虚函数Test()
{
cout<<"Derived Test()"<<endl;
}
};
int main()
{
Derived D;
D.Base1::Test();
D.Test();
Base1 *pB1 = &D;
Base2 *pB2 = &D;
Base1 b1;
b1.Test();
pB1->Test(); //用基类指针pB1调用类Derived 的TestA()函数
pB2->Test(); //用基类指针pB2调用类Derived的TestB()函数
return 0;
}
using namespace std;
class Base1
{
public:
virtual void Test()
{
cout<<"Base1 Test()"<<endl;
}
};
class Base2
{
public:
virtual void Test()
{
cout<<"Base2 Test()"<<endl;
}
};
class Derived :public Base1, public Base2
{
public:
void Test() // 直接重写虚函数Test()
{
cout<<"Derived Test()"<<endl;
}
};
int main()
{
Derived D;
D.Base1::Test();
D.Test();
Base1 *pB1 = &D;
Base2 *pB2 = &D;
Base1 b1;
b1.Test();
pB1->Test(); //用基类指针pB1调用类Derived 的TestA()函数
pB2->Test(); //用基类指针pB2调用类Derived的TestB()函数
return 0;
}