Лабораторялық жұмыс бойынша сұрақтар
Объектілер иерархиясы дегеніміз не?
Иерархия қалай құрылады?
Итераторлар дегеніміз не?
Топтар дегеніміз не?
Топ элементтері қалай анықталады?
ЛАБОРАТОРНАЯ РАБОТА № 8
ДОСТЫҚ ФУНКЦИЯЛАР ЖӘНЕ КЛАСТАР
Жұмыс мақсаты: Достық функциялар және кластар механизмімен таныстыру.
Қысқаша теориялық мәліметтер
1.Достық кластар
Класта басқа класты достық ретінде хабарлауға болады. Бір класс басқа класқа барлық жабық мүшелеріне қатынауға рұқсат береді. Әдетте достық кластар екі бір-біріне байланыссыз кластар үшін қолданылады.
class One {
friend class Two; //класс Two One класынын досы
private:
double value; //кластың жабық мүшесі
public:
One() { value = 3.14159; }
};
class Two {
private:
One object;
public:
// value жабық мүшесіне қатынау
void ShowVal(void) { cout << object.value; }
};
//Программа 1 Достық класты хабарлау мысалы
#include
class One {
friend class Two; //класс Two друг класса One
private:
int x;
protected:
void doublex(void) { x *= x; } //доступен One и Two
public:
One() { x = 100; } //конструктор 1
One(int n) { x = n; } //конструктор 2
};
class Two {
private:
One object; //доступен только Two
public:
void ShowVal(void); //доступна всем
};
void main()
{
Two aTwo;
aTwo.ShowVal();
}
void Two::ShowVal(void)
{
One aOne(1234);
cout << endl << "Before, object.x == " << object.x;
object.doublex();
cout << endl << "After, object.x == " << object.x;
cout << endl << "aOne.x == " << aOne.x << endl;
}
Екі класс бір-бірін достық ретінде хабарлай алады
class Two;
class One {
friend class Two;
. . . . . . . . .
};
class Two {
friend class One;
. . . . . . . . .
};
Достарыңызбен бөлісу: |