#include<iostream>
using namespace std;
class Base1
{
public :
virtual void TestA()
{
cout<<"Base1 TestA()\n";
}
};
class Base2
{
public :
virtual void TestB()
{
cout<<"Base2 TestB\n";
}
};
class Derived:public Base1,public Base2
{
public :
void TestA()//重写基类Base1中的虚函数
{
cout<<"Derived TestA() rewritted\n";
}
void TestB()//重写基类Base2中的虚函数TestB()
{
cout<<"Derived TestB() rewritted\n";
}
};
int main()
{
Derived D;
Base1 *pb1=&D;
Base2 *pb2=&D;
pb1->TestA();
pb2->TestB();
return 0;
}
using namespace std;
class Base1
{
public :
virtual void TestA()
{
cout<<"Base1 TestA()\n";
}
};
class Base2
{
public :
virtual void TestB()
{
cout<<"Base2 TestB\n";
}
};
class Derived:public Base1,public Base2
{
public :
void TestA()//重写基类Base1中的虚函数
{
cout<<"Derived TestA() rewritted\n";
}
void TestB()//重写基类Base2中的虚函数TestB()
{
cout<<"Derived TestB() rewritted\n";
}
};
int main()
{
Derived D;
Base1 *pb1=&D;
Base2 *pb2=&D;
pb1->TestA();
pb2->TestB();
return 0;
}
本文介绍了一个C++程序示例,展示了如何在一个派生类中重写来自两个不同基类的虚函数。通过具体代码实现,解释了多重继承下成员函数重写的概念。
1158

被折叠的 条评论
为什么被折叠?



