C++クラス多重継承のサンプルプログラム
1.C++コード下記:
#include <iostream>
using namespace std;
class A {
public :
A() { std::cout<<“これは A"<<std::endl;}
void test(){ std::cout<<“これは A’s test()"<<std::endl;};
int aa;
};
class B : virtual public A {
public:
B() {aa = 2; std::cout<<“これは B"<<std::endl;};
};
class C : virtual public A {
public:
C() {aa = 3; std::cout<<“これは C"<<std::endl;};
};
class D : public B, public C {};
int main()
{
D d;
d.A::test();
d.B::test();
d.C::test();
d.test();
std::cout<<d.aa<<std::endl;
return 0;
}
実行結果:
これは A
これは B
これは C
これは A’s test()
これは A’s test()
これは A’s test()
これは A’s test()
3
2.説明
多重継承とは一つのクラスが複数の親クラスを持つことを言います。多重継承をすることにより、
一つのクラスは二つのクラスの性質を同時に受け続くことになります。