Objektorienterad programmering i C ++ - Del 6 Inledning Detta är en del 6 av min serie, objektorienterad programmering i C ++. En extern funktion eller extern klass (icke-härledd klass) kan inte få tillgång till en skyddad medlem i en klass eller ett privat medlem i en klass. Undantag kan göras från denna regel. Om du gör en extern funktion eller extern klass en vän till en viss klass, då den vännen kan få tillgång till skyddat och privat medlem i klassen. I den här artikeln visar jag dig hur man gör vänner i C ++. Jag antar att du har läst serien från början.
Obs: Om du inte kan se koden, eller om du tror att något saknas (bruten länk, bild frånvarande), bara att kontakta mig på [email protected]. Det vill säga, kontakta mig för minsta problem du har om vad du läser. Danandevänner att göra en funktion eller klass en vän till en viss klass, bara skriva en prototyp av denna funktion eller prototypen av klassen, i beskrivningen av den aktuella klassen som föregår prototypen, med sökordet, vän och en utrymme. Det var allt. Efter att vännen funktion eller vän klass kan komma åt skyddade och privata medlemmar i viss klass.
Vi ska titta på några exempel. Vän Funktion I följande kod, är funktionen myFn () en vän till klassen MyClass. #include using namespace std; class MyClass {skyddad: int num1; private: int num2; vän int myFn (); }; int myFn () {MyClass myObj; myObj.num1 = 2; myObj.num2 = 3; cout int main () {myFn (); återvända 0; } Läs igenom ovanstående kod och prova. Det bör sammanställa och ge dig resultat. Att förklara (göra) en extern funktion en vän till en klass i klassbeskrivningen du skriver prototypen av funktionen, föregås av nyckelordet, vän och en utrymme.
I ovanstående kod, myFn () är en vän till MyClass. Så, i definitionen av myFn () skyddade och privata medlemmar av MyClass har visats. Vän Klass I följande kod, är HisClass en vän till MyClass: #include using namespace std; class MyClass {skyddad: int num1; private: int num2; vän klass HisClass; }; klass HisClass {public: void myMthd () {MyClass myObj; myObj.num1 = 2; myObj.num2 = 3; cout}; int main () {HisClass hisObj; hisObj.myMthd (); återvända 0; } Läs igenom ovanstående kod och prova. Det bör sammanställa och ge dig resultat.
Att förklara (göra) en klass en vän till en viss klass, i klassbeskrivningen du skriver prototypen av klassen, föregås av nyckelordet, vän, ett mellanslag och nyckelordet, klass. I ovanstående kod, är HisClass en vän till MyClass. Så, i beskrivningen av HisCl