2.Достық функциялар
Достық функциялар достық кластарға ұқсас, бірақ тиімдірек. Достық функцияны хабарлау оған кластың жабық және қорғалған мүшелеріне қатынауға мүмкіндік береді.
// Программа 2 Достық функцияны хабарлау мысалы
#include
class Two;
class One {
friend void Show(One& c1, Two& c2);//Дружественная функция
private: //двум классам
char *s1;
public:
One() { s1 = "Testing "; }
};
class Two {
friend void Show(One& c1, Two& c2);
private:
char *s2;
public:
Two() { s2 = "one, two, three"; }
};
void main()
{
One c1;
Two c2;
Show(c1,c2);
}
void Show(One& c1, Two& c2)
{
cout << c1.s1 << c2.s2 << endl;
}
Достық функция класс мүшесі де болуы мүмкін.
// Программа 3
#include
class One;
class Two {
private:
char *s2;
public:
Two() { s2 = "one, two, three"; }
void Show(One& c1);
};
class One {
friend void Two::Show(One& c1);// Достық функция- мүше
private:
char *s1;
public:
One() { s1 = "Testing "; }
};
void main()
{
One c1;
Two c2;
c2.Show(c1);
}
void Two::Show(One& c1)
{
cout << c1.s1 << s2 << endl;
}
ІІ. Жұмыстың орындалу реті
1. Теориялық бөліммен танысу.
2. 1 – 3 программалардың жұмысымен танысу.
3. Өзіндік жұмыс тапсырмаларын орындаңыз.
ІІІ. Өзіндік жұмыс тапсырмалар
1. string класын анықтаңыз. Ол үшін "+" және "соңына жалғау" ("+=") достық функцияларын анықтаңыз.
2. DATA класын анықтаңыз, ол үшін "+", "-" амалдары орындалады. Достық функцияны қолданыңыз.
3. INT класын анықтаңыз. Ол үшін "+", "-" амалдары орындалады. Достық функцияны қолданыңыз.
4. TIME класын анықтаңыз. Ол үшін "+", "-" амалдары орындалады. Достық функцияны қолданыңыз.
5. FLOAT класын анықтаңыз. Ол үшін "+", "-" амалдары орындалады. Достық функцияны қолданыңыз.
6. VECTOR класын анықтаңыз. Ол үшін "+", "-" амалдары орындалады. Достық функцияны қолданыңыз.
7. MATRIX класын анықтаңыз. Ол үшін "+", "-" амалдары орындалады. Достық функцияны қолданыңыз.
Жұмыс есебі
- Жұмыс тақырыбы мен мақсаты;
- Жұмыстың орындалуы кезінде қойылған сұрақтарға жауап беру;
- Өзіндік жұмыс программасының листингі.
Достарыңызбен бөлісу: |