多態生其實還可以通過類的聚合或組合的方式來達到,從而還可以避免繼承或多繼承,
代碼如下 (未在開發環境中調試)
#include?<stdio.h>?
template?<class?T>?
class?A??
{?
public:?
??void?print()?
??{?
????base_.b();?
??}???
??typename?T?base_;
};?
class?B?
{?
public:?
??void?b()?
??{?
????printf("?Class?B---------------------\n");?
??}???
};?
class?C?
{?
public:?
??void?b()?
??{?
????printf("?Class?C---------------------\n");?
??}???
};?
int?main(int,?char*?[])?
{?
??A<B>?c;?
??c.print();?
??A<C>?c2;
??c2.print();
??return?0;???
}?