1樓:普洛智應
這段**的實現有問題,有語法錯誤,才導致你有」b類物件會訪問哪個a的number呢?「這個疑問。正確的實現應該是。
#include
using namespace std;
class a
int number;
public://setnumber必須是公有成員。
void setnumber( int n 行仔)number = n;
friend class b;
class b
public://func 必須是公有成員。
int func( a aa,int b )/return number + b;//這句這樣是不行的逗帶轎。
return ;
int main()
a a[5];
b b[5];
for(int i = 0; i 《山肆 5; +i )/a[i].number = i;
a[i].setnumber(i);
for( int j = 0; j < 5; +j )b[j].func(a[j], j );
return 0;
2樓:魏瀟微笑
怪怪的,關係不明確。。。
3樓:玻璃麥田
友元可以訪問指定類中的所有成員,那訪問的時候必然是要指定物件的。
比如你在b中定義的func函式,不可能直接使用number,因為number不是static的,那這個number是哪個a類物件呢?這是需要指定的。你對func的定義本身就是不合法的。
例如本例中func定義的格式應該是這個樣子的int func(a& a,int b)
這樣的話,就不存在你說的不知道呼叫哪個a的number的問題了。
友元類中的基類物件
4樓:翡翠翔
1、友元函式可以訪問被宣告為友元類的所有成員,友元類和友元函式訪問許可權是一樣的,可以訪問被宣告為友元類的所有成員。
2、類裡面的未被宣告為友元類的類就是乙個一般的類,只是在類的裡面而已,訪問許可權不變,它只能訪問公有成員。
3、派生類的這個課本上有的,是protected和public
5樓:網友
1.全部。
2.當然只能訪問public成員。
3.公有繼承保護物件在派生類中變成public。
6樓:網友
1。友元(friend),言外之意,就是朋友,朋友當然可以看到家裡的每個人了,也可以和每個人說話。
2。當b沒有被宣告為友元的時候,b就存在於a的外部,所以b具有a的外部可見性。也就是說,僅有共有的可以訪問。
3。共有繼承的圖譜如下:
base public protected private
drived public protected --
4。私有繼承圖譜。
base public protected private
drived private private --
c++友元類的問題
7樓:網友
需要交叉書寫,將類裡面的成員函式只寫原型,包括建構函式的列表也不要,然後在兩個類的後面交錯實現各個函式,原則是該函式用到了另外乙個類的成員函式或者資料,此時一定該函式體可見,當然,如果沒用到則還可以在類裡實現。
還有,如果有友元的物件成員,必須在後面,前面加上類的前向說明。
8樓:網友
class b;
class a
class b
不行是因為沒宣告,只要在引用前宣告就行了,後面在進行定義。
9樓:網友
class b裡面 應該宣告為publicb();這個不需要寫,需要的話應該這樣 b(){還有b bb();是不需要括號的。
正確結果。#include
using namespace std;
class a
private:
int a;
class b
void printa(a & c)
int main()
如何定義友元類
10樓:網友
一句兩句說不清除,看下篇文章,應該能解決問題,不是太長。
是關於友元類的。
友元類問題。
11樓:yan_桐葉杏香
你定義了crect類的物件,這個物件在初始化的時候找不到合適引數的建構函式。
類在沒有定義任何建構函式的時候,系統才會預設產生建構函式,一旦定義了任何形式的建構函式,系統就不會在產生預設的建構函式了。該錯誤是所找不到正確的無引數的建構函式。
只需要寫乙個空的建構函式,就可以解決問題。
在你的crect類里加上crect(){就行了。
c++關於友元類的問題。。
12樓:網友
"setdata',getnext' 左邊必須要是乙個型別或者結構"
/ p2是指標啊, p2->getnext();
/ p2是指標啊, p2->setdata();
一共5個地方要改, 自己找找吧, 錯誤提示很明顯了吧。
13樓:網友
setdata()函式前面的型別是指標,如果要使用指標的話,需要使用操作符->(而不是。()
修改成類似下面這樣就可以了:
node *p2;
p2=head->getnext();
int s=p2->getdata();
初你好運~~
c++友元類的小問題
14樓:網友
每個類的visitboygirl函式前加關鍵字 friend ,表示此函式為友元函式。元函式是指某些雖然不是類成員卻能夠訪問類的所有成員的函式。。類授予它的友元特別的訪問權。
15樓:
類中宣告友元函式vsitboygirl時前面加上friend
求友友支援 關於愛情的問題
如果放不下,就勇敢的去面對,敢與不敢的距離是很大的。如果你不說一點機會也沒有,不要因為怕打擊,不要因為面子而算了。愛情是自己爭取來的,勇敢點。我相信你。從某些方面慢慢接近,並且要先了解她是否對你有意思,至少要表達這麼多年的喜歡,或者過幾天就約她,或者很多人一起去玩,然後你就跟她聊天。你們平時聯絡得多...
類的友員是函式時,它們可以定義不同形式的類屬引數 是什麼意思啊
include using namespace std template class a template void printa a a,p m 說明 a是類别範本 printa是函式模板 printa是a的友員,但是printa是template,而a是template 所以說類别範本的友員是函...
請教各位花友,我這個蘭花怎麼長了個黃色的類似葉子的
發一個 看看比較好,是不是變異了,蘭花很好養,放室內明亮處就可以,乾透及時澆水就可以啊,見幹見溼比較好 長了個黃色的類似葉子的花苞嗎?那麼發個 過來看看 沒有 很難猜,不知道是什麼 我的這蘭花是什麼,怎麼開花開葉子了 你難道沒有仔細看看它?這個明顯是別的植物發芽長出來了 葉片那麼清楚,有點像茶葉,或...