亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c++中類內的函數怎么調用

c++中類內的函數怎么調用

C++
慕標琳琳 2019-05-13 08:08:53
void bookmanger::add() //bookmanger類已經定義好了,add函數也寫完整了,但是調用的時候怎么調用啊我調用的時候寫的是bookmanger::add();但是編譯出錯:cannot call function"bookmang::add()"without object誰能解釋一下是怎么回事啊
查看完整描述

4 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

不能用類名調用,要用對象名來調用,比如你可以這樣做:先定義一個對象,再用這個對象來調用函數
bookmanger bm1;
bm1.add();
如果你一定要用類名來調用,可以定義函數為static:
static void bookmanger::add()

查看完整回答
反對 回復 2019-05-14
?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

你必須先創建一個bookmanger副本,然后用
bookmanger bm;
bm.add()
或者
bookmanger *bm = new bookmanger();
bookmanger->add()調用。

還有
你的manager拼錯了。。因該是bookmanager





查看完整回答
反對 回復 2019-05-14
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

先實例化一個對象,bookmanager bm1;
bm1.add();這樣調用。
bookmanger::add()這樣的調用方法只有在有方法覆蓋或重寫時才能調用,或者將該方法設為靜態方法。

查看完整回答
反對 回復 2019-05-14
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊


你必須先創建一個bookmanger副本,然后用bookmanger bm;bm.add()或者,bookmanger *bm = new bookmanger();bookmanger->add()調用。

如果你一定要用類名來調用,可以定義函數為static:static void bookmanger::add()。

函數中的manager拼錯了,應該是bookmanager。

c++構造函數:C++用以初始化對象的數據成員的一種函數。完好定義的類一旦建立,就可看成完全封裝的實體,可以作為一個整體單元使用。類的實際內部工作隱藏起來,使用完好定義的類的用戶不需要知道類是如何工作的,只要知道如何使用它即可。

擴展資料:

構造函數作用:

初始化對象的數據成員,規則:構造函數與類同名且無返回值,在對象實例化時自動調用、構造函數可以有多個重載形式、實例化對象時僅用到一個構造函數、當用戶沒有定義構造函數時,編譯器自動生產一個構造函數。

編譯系統為對象的每個數據成員(m_strName)分配內存空間,并調用構造函數School()自動地初始化對象的m_strName值設置為"bullworth"。

在C++中,類是支持數據封裝的工具,對象則是數據封裝的實現。C++通過建立用戶定義類支持數據封裝和數據隱藏。

在面向對象的程序設計中,將數據和對該數據進行合法操作的函數封裝在一起作為一個類的定義。對象被說明為具有一個給定類的變量。每個給定類的對象包含這個類所規定的若干私有成員、公有成員及保護成員。





查看完整回答
反對 回復 2019-05-14
  • 4 回答
  • 0 關注
  • 5303 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號