5. Нийлмэл удамшил нь аливаа удамшсан класс нь нэгээс олон
үндсэн класстай байхыг зөвшөөрдөг. Жишээ нь:
class Date { protected: public: void Display();
int day; Date(); Date Get();
int month; ~Date(); void Set();
int year;
};
class Time {protected: public: void Display();
int hour; Time(); Time Get();
int minute; ~Time(); void Set();
int second;
};
class DateTime :public Date, public Time{
int digital;
public:
void Display();
}; DateTime –класс нь Date, Time –ийн
гишүүдийг агуулна.
DateTime watch; // watch; объект
11. class CPerson {. . .};
class CEngineer : virtual public CPerson{. . . };
одоогоор virtual түлхүүр үг ямар ч ач холбогдолгүй.
class CSalaried : virtual public CPerson{. . . };
Харин
class CSalariedEng : public CEngineer, public CSalaried
{. . . };
гэж нийлмэл удашил зарлах үед CPerson -н зөвхөн
нэг хуулбар үүсэх ѐстой.
Person.dev
12. class CPerson { protected:
int age;
public:
CPerson(int a){ age=a;}
};
class CEngineer :virtual public CPerson {
protected:
int m_nEngType;
public:
CEngineer(int d, int a): CPerson(a){
m_nEngType =d;}
};
class CSalaried :virtual public CPerson{
int m_nSalary;
public: CSalaried (int t, int a):CPerson(a)
{m_nSalary =t; } } ; Person.dev
13. class CSalariedEng :public CEngineer , public CSalaried {
int m_nDept;
public:
CSalariedEng (int s, int t, int d, int a):
m_nDept(s), CPerson(a), CEngineer(d), CSalaried(t){};
};
CSalariedEng байгуулагч функц нь зөвхөн өөрийгөө
байгуулаад зогсохгүй өөрийн эх классуудыг
цаашилбал CPerson- классын хэсгийг өөрөө
үүсгэдэг.
Person.dev
21. class List {
public:
List();
void addToFront(int);
int firstElement();
int length();
int includes(int);
void remove(int);
private: //бүхэл тоо хадгалах өгөгдлийн бүтэц
};