Deklarieren Sie eine Klassenmitgliedfunktion als Freundesfunktion einer anderen KlasseC++

Programme in C++. Entwicklerforum
Anonymous
 Deklarieren Sie eine Klassenmitgliedfunktion als Freundesfunktion einer anderen Klasse

Post by Anonymous »

Ich habe 2 Klassen erstellt (Klasse A und Klasse B) Ich habe die Klasse A vor der Klasse B (Vorwärtsdeklaration der Klasse A) deklariert. Ich habe eine öffentliche Funktion in der Klasse B mit Namenspreis (eine Temperatur) erstellt. In der Klasse A habe ich die Funb -Funktion der Klasse B als Freundesfunktion der Klasse A deklariert. Aber wenn ich die Definition von Funb () außerhalb der Klasse B schreibe, funktioniert es gut. < /strong> < /p>
Kann jemand erklären, warum das passiert?

Code: Select all

// ERROR
class A;
class B{
public:
void funB(A temp){
printf("friend function");
}
};

class A{
public:
friend void B::funB(A);
};
< /code>
Der obere Code zeigt mir Fehler < /p>
👇Der unten funktioniert einwandfrei. < /p>
class A;
class B{
public:
void funB(A temp);
};

class A{
public:
friend void B::funB(A);
};

void B::funB(A temp){
printf("friend function");
}
Bitte antworten Sie auf mein Problem.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post