今天我對朋友功能有疑問。 兩個類可以有相同的朋友功能嗎? 舉例 friend void f1();
在A類和B類中聲明。這可能嗎?如果是這樣,函數f1()是否可以訪問兩個類的成員?2個班可以分享朋友功能嗎?
8
A
回答
0
對於class
的功能是否可以friends
是沒有限制的,所以是的,這是沒有問題的。
+0
那麼,你必須能夠命名這個函數,但這是一個自然的限制。例如。 'struct {static void foo(); };'或其他翻譯單元中匿名命名空間中的函數。 – MSalters
14
一個例子說明這個最佳:
class B; //defined later
void add(A,B);
class A{
private:
int a;
public:
A(){
a = 100;
}
friend void add(A,B);
};
class B{
private:
int b;
public:
B(){
b = 100;
}
friend void add(A,B);
};
void add (A Aobj, B Bobj){
cout << (Aobj.a + Bobj.b);
}
main(){
A A1;
B B1;
add(A1,B1);
return 0;
}
希望這有助於!
+0
非常感謝你,我們的例子很好,很容易理解 – user2236974
+0
不客氣! – iluvthee07
0
校正上述代碼
#include<iostream>
using namespace std;
class B; //defined later
class A; //correction (A also need be specified)
void add(A,B);
class A{
private:
int a;
public:
A(){
a = 100;
}
friend void add(A,B);
};
class B{
private:
int b;
public:
B(){
b = 100;
}
friend void add(A,B);
};
void add (A Aobj, B Bobj){
cout << (Aobj.a + Bobj.b);
}
main(){
A A1;
B B1;
add(A1,B1);
return 0;
}
-1
#include<iostream>
using namespace std;
class first
{
friend void getdata(first object1, int i);
};
class second
{
friend void getdata(second object2, int j);
};
getdata(first object1, int i, second object2, int j)
{
cout<<i+j;
}
main()
{
first object1;
second object2;
getdata(object1, 5, object2, 7);
}
相關問題
- 1. 朋友功能可以更改班級中的私人數據嗎?
- 2. 朋友功能可以創建新對象嗎? C++
- 3. 兩個班可以相互交友嗎?
- 4. C++ - 朋友功能
- 5. 你可以用Facebook圖形API查找朋友的朋友嗎?
- 6. 朋友功能問題
- 7. 朋友和繼承功能
- 8. Facebook - 推薦朋友功能
- 9. 朋友功能和模板
- 10. F#朋友功能/類
- 11. 我宣佈部分專門的朋友班嗎? - 非常困惑
- 12. 如何解鎖一個Database.mdf文件,以便與朋友分享?
- 13. 我可以創建一個與班級同名的功能嗎?
- 14. 如何使用朋友功能或朋友類?
- 15. 爲什麼這個朋友功能無法訪問班級的私人成員?
- 16. Facebook照片分享給朋友的牆
- 17. 分享朋友牆的具體鏈接
- 18. 工作在「牆」功能,用戶可以與他們的朋友分享網站內容
- 19. 有什麼方法可以獲取朋友或朋友的朋友的聊天數據嗎?
- 20. 朋友分組
- 21. 2 AtomicReferences可以假分享?
- 22. iPhone:告訴朋友功能庫
- 23. 爲朋友功能使用聲明
- 24. Facebook oauth 2.0邀請朋友功能
- 25. 朋友和非成員功能困境
- 26. 什麼是php中的朋友功能?
- 27. 將會員功能設爲朋友
- 28. 對朋友功能的限制
- 29. 朋友功能不起作用
- 30. 在facebook上分享在朋友時間線中不可見 - Android
是的,它是可能的。是的,'f1()'可以訪問這兩個類的成員。 – juanchopanza
你試過編譯一個簡單的例子嗎?這似乎很容易測試。 – Max
是什麼讓你覺得這不可能? – stijn