Вложени Класове
| Информационни технологии | 2009-12-04 | 79 сваляния |
-
Вложени Класове
Съществуват два основни механизъма на влагане:
-
Член-променлива на клас като обект на друг клас.
-
Вложен клас в тялото на външен клас.
1. Член-променлива на клас като обект на друг клас
Общ вид на влагането:
class nested() //вложен клас
{ //дефиниция на вложен клас
};
class outer //външен клас
{ nested object; //вложен обект е член-данна
..
};
Пример
#include
class point //вложен клас
{ int x,y;
public:
point(int a=0,int b=0)
{ x=a; y=b; cout<<коструктор point <<x<< <<y<<n; }
void out() { cout<<точка:<<x<< <<y<<n; }
};
class circle //външен клас
{ point centre; //вложен обект е член-данна
int rad;
public:
circle(int a,int b,int r):centre(a,b),rad(r)
{ cout<<конструктор circle <<rad<<n; }
};
void main()
{ circle c(1,2,9); } //създаване на обект c
Резултати от изпълнение
Конструктор point 1 2
Конструктор circle 9
-
Ако вложеният обект centre е описан в public частта на външния клас, то тогава е разрешен достъп до член-функциите на вложения клас.
c.centre.out(); //извежда: точка:1 2
2. Вложен клас в тялото на външен клас
Общ вид на влагането:
class outer //външен клас
{ private:
class nested1 //вложен клас1
{ //дефиниция на вложен клас1
};
public:
class nested2 //вложен клас2
{ // дефиниция на вложен клас2
};
Тагове от реферата: мехнизъма, nested, class, Външен, дефиниция, променлива, съществува, основни











