В тази статия ще разгледаме следното:
- Какво е приятелски функции, и, по-важното е, защо те са необходими.
- Какво е различно от конвенционалните методи на функциите на класа лесен класа.
- Как да се декларират и дефинират приятелски функции.
- Как да се обадя приятелски функции от главния Основната функция ().
Най-важното, но също така, най-вероятно, най-непонятното за вас сега е да се определят функциите на приятел.
Приятелски функция - функция, която не е член на класа, но има достъп до членовете на групата, обявени в частните или защитени области.
Дълго не се рови в същността на това определение, но това е по-добре да отиде в следващия параграф. Обещавам, че след като прочетете статията, която да се върнете към това определение, както и посещение на идеята: "Е, да - това е! Всичко е ясно! "
използване на пространството от имена STD;
име = нов знак [20];
Cout <<". Деструктор. " < приятел невалидни getData (Woman25); >; // От дефиницията на клас Woman25 невалидни setData (знак * п, Int w, Woman25 обект) // определи приятел функция setData на анулира getData (Woman25 обект) // определи приятел-функцията getData Cout < анулира Woman25 :: setData (знак * п, Int w) / / определи метод набор класа анулира Woman25 :: getData () // дефинира метода за оформление клас Cout < анулира Woman25 :: съвет () // дефинира метод клас на Съвета (съвети) ако (тегло <55)/если вес меньше 55 кг Cout <<"Вам надо потреблять больше калорий!" < > Иначе ако (тегло> = 55 тегло <= 65)/если вес в пределах 55-65 кг Cout <<"Ваш вес в норме!" < Cout <<"Вам надо ограничивать себя в еде!" < Woman25 Норм; // създаване на Норм обект конструктор и работа на тегло е = 60, име - Норма Norm.getData (); // извикате метода на класа Woman25 Анна; // Вторият обект Anna.setData ( "Ан", 100); // извикате метода на класа Anna.getData (); // извикате метода на класа Anna.advise (); // извикате метода на класа Woman25 Инна; // Третият обект setData ( "Ина", 50, Ина); // Извикване приятел функция getData (Ина); // Извикване приятел функция Inna.advise (); // извикате метода на класа Сега идва може би най-интересно - това е определението за класа на нашите приятелски функции и обичайните методи на класа. Всичко това се намира в редове 32 - 66. Виж, когато ние определяме приятелски функции. линии 32-36 и 38 - 41. Ние не използваме оператора. двойно дебелото черво (метод площ видимост). Това вече ни казва, че един приятел функция не принадлежи към класа, не му компонент. И при определянето на други методи за използване на оператора. Това е задължително. метод клас съветва (). въз основа на данните за теглото, той дава на потребителя един от съветите, или доклади, които нормално тегло. Отиди на основната функция - линия 68 - 87. Тук ние се създаде обект от клас Woman25 Норм. при създаването на работа, която строителя и инициализира име и тегло елементи. Извикване метод клас Norm.getData (); за да се покаже стойността на нормата. С втория създаден обект Woman25 Анна; действа като стимулира обичайния комплект и да получите - методи на клас, и един трети аспект Woman25 Инна; - причиняване на приятелски функции. Както можете да видите, те се наричат като функции, които не принадлежат към класа. клас обект минаваме като параметър. Стартирайте програмата и да видите следното: Destructor. За да продължите, натиснете произволен клавиш. Сега, както винаги, малко теория, за консолидиране на материала: Това е всичко за началото.
. Destructor.
. Destructor.
Свързани статии