最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

c++入門問(wèn)題

c++入門問(wèn)題

C++
慕粉18341035298 2016-12-24 07:51:42
#include<iostream>#include<algorithm>#include<iomanip>#include<cmath>#include<string.h>#include<stdlib.h>#include<sstream>using namespace std;class two;class one{private :?string name;public :?void show(two &);?void setOne(){??string? s;??name = s;?}};class two{private :?string name;public :?friend void one::show(two &);?void setTwo(){??string? s;??name = s;?}};void one :: show(two &s){?cout << s.name << endl;?? //編譯器報(bào)錯(cuò),無(wú)法訪問(wèn)name,這是為什么?}int main(){?one a;?two b;?a.setOne();?a.show(b);?b.setTwo();?return 0;}
查看完整描述

2 回答

?
onemoo

TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊

所以我覺(jué)得很奇怪,你這個(gè)代碼似乎沒(méi)有錯(cuò)。

你看,咱們來(lái)梳理下整個(gè)結(jié)構(gòu),確保我沒(méi)有看錯(cuò):

  • 你先前置聲明了 class two,這是為了讓后面 class one 的 show 函數(shù)能用two引用作參數(shù)

  • 后面是 class one 的類定義,但還不能在這里實(shí)現(xiàn) show 函數(shù)(因?yàn)檫€沒(méi)有 class two 的定義)

  • 隨后是 class two 的類定義,在其中給 void one::show(two&) 以 friend 權(quán)限

  • 最后是 one::show 的實(shí)現(xiàn),其中直接使用 two 的 private 成員 name 是沒(méi)有問(wèn)題的??!

我沒(méi)看錯(cuò)吧? ?你的代碼是這樣的沒(méi)錯(cuò)吧?

你確定是正確進(jìn)行編譯了嗎?

查看完整回答
反對(duì) 回復(fù) 2016-12-24
  • 慕粉18341035298
    慕粉18341035298
    在你的編譯器上可以通過(guò)嗎
  • onemoo
    onemoo
    可以,我把你的代碼拷過(guò)來(lái)(除了開頭沒(méi)用的include外),在我這里gcc 6.2可以編譯通過(guò)。 按照我寫的這個(gè)結(jié)構(gòu)組織代碼,就可以正確地將成員函數(shù)聲明為friend,沒(méi)有問(wèn)題的! 你的編譯器或IDE是什么?哪個(gè)版本?
  • onemoo
    onemoo
    這個(gè)問(wèn)題解決了嗎?
點(diǎn)擊展開后面1
?
onemoo

TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊

奇怪,乍看沒(méi)什么問(wèn)題啊...

class two 中將 one::show(two&) 聲明為 friend 了,那么 one::show 應(yīng)該可以訪問(wèn) class two 中的 name。

而且 class one 的類定義在 class two 之前,class one 之前也有 class two 的前置聲明了,編譯應(yīng)該可以通過(guò)的呀!?...

查看完整回答
反對(duì) 回復(fù) 2016-12-24
  • 2 回答
  • 0 關(guān)注
  • 1567 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)