C ++
C ++ da meros :
sinf A {}; // Asosiy sinf
B sinf : ommaviy A {}; // Jamiyat meros
klassi C : himoyalangan A {}; // Himoyalangan meros
klassi Z : xususiy A {}; // Xususiy meros
C ++ da merosning uch turi mavjud : ommaviy , himoyalangan , xususiy . Asosiy sinf a'zolarining kirish spetsifikatorlari avlodlarida quyidagicha o'zgaradi:
Agar sinf kirish spetsifikatoriga ega bo'lgan boshqa sinf uchun asos sifatida e'lon qilingan bo'lsa ...
... ommaviy :
asosiy sinfning jamoat a'zolari - kelib chiqqan sinfning jamoat a'zolari sifatida mavjud;
asosiy sinfning himoyalangan a'zolari - olingan sinfning himoyalangan a'zolari sifatida mavjud;
… Himoyalangan :
asosiy sinfning jamoat va himoyalangan a'zolari, olingan sinfning himoyalangan a'zolari sifatida mavjud;
... xususiy :
Asosiy sinfning jamoat va himoyalangan a'zolari kelib chiqqan sinfning shaxsiy a'zolari sifatida mavjud.
Jamiyat merosining asosiy afzalliklaridan biri shundan iboratki, hosil bo'lgan sinflarga ko'rsatgichni to'g'ridan-to'g'ri asosiy sinfga ko'rsatgichga aylantirish mumkin, ya'ni yuqoridagi misol uchun quyidagilarni yozishingiz mumkin:
A * a = yangi B ();
Ushbu qiziqarli xususiyat Dynamic Type Identification (RTTI) imkoniyatini ochadi .
Do'stlaringiz bilan baham: |