#include #include using namespace std; class CAnimal { public: CAnimal(int LegCount = 0, string Taste = "Chicken"); ~CAnimal(); void Breathe(); void Eat(); //void Speak(); private: bool m_GeneticallyModified; int m_LegCount; string m_Taste; }; CAnimal::CAnimal(int LegCount, string Taste): m_Taste(Taste),m_LegCount(LegCount) { cout << "In Constructor of Animal" << endl; } CAnimal::~CAnimal() { cout << "I taste like " << m_Taste << endl; } void CAnimal::Breathe() { cout << "Animal Breathing" << endl; } void CAnimal::Eat() { cout << "Animal Eating" << endl; } class CFish : public CAnimal { public: CFish(); ~CFish(); //void Swim(); private: }; CFish::CFish():CAnimal(0,"Fish") { cout << "In Constructor of Fish" << endl; // You can not access the private members of the CAnimal // m_LegCount = 0; // m_Taste = "Fish"; // } CFish::~CFish() { cout << "Fry me up" << endl; } class CBird: public CAnimal { public: CBird(); ~CBird(); //void Fly(); private: }; CBird::CBird() : CAnimal(2) { cout << "In Constructor of Bird" << endl; } CBird::~CBird() { cout << "Pluck me" << endl; } //class CPenguin : public CFish, CBird //{ //}; class CA { public: int x; void fun() { cout << "Fun of A" << endl; } }; class CB { public: void fun() { cout << "Fun of B" << endl; } }; class CC : private CA, public CB { public: int x; void fun() { CA::x = 9; CA::fun(); CB::fun(); } }; void main() { // CC c; // c.fun(); CC c; //c.x = 9; //CC* pcc; //CA* pca; //CB* pcb; //pcc = new CC; //pca = pcc; //pcb = pcc; //cout << sizeof(*pcc) << endl; //cout << sizeof(*pca) << endl; //cout << sizeof(*pcb) << endl; //pcc->fun(); //pca->fun(); }