c 類中私有成員只能通過類設定的介面函式訪問。舉個例子

時間 2022-04-26 09:44:24

1樓:

class person

};在這段**中如果要獲取person類的name值,必須要呼叫getname函式,假如有乙個person型別的變數p,則如果要獲取p的name需要進行如下的操作

p.getname()而不能直接用p.name獲取

2樓:匿名使用者

class gun

gun::fire()

else

return 0;

}void gun::reload(unsigned int counts)

main()}

3樓:匿名使用者

class a

int getprivate()

}a a;

a.m_private = 1;//錯誤

a.m_public = 1;//正確

a.setprivate(1);//正確

int b = a.m_private;//錯誤int b = a.m_public;//正確int b = a.getprivate();//正確

4樓:

private int a;

public func

在c++的類裡面如何用公有函式呼叫私有函式,最好能舉個例子

5樓:匿名使用者

是用private來修飾的函式,在類中可以呼叫,但是在類外,就不可以呼叫了,這很好的符合了物件導向的程式設計思維,使用者不必知道某些方法內部是怎樣實現的,私有函式只會把結果返回給使用者,這就是私有函式的好處。

例子:#include

using namespace std;

class hello{

private:

void print()

{cout<<"hello world"<

6樓:聯盟ying聯盟

class hello

public:

void test()

};望採納,不懂繼續問

c++ 如果成員函式不需要訪問類的____成員,則可以把它宣告為靜態成員函式

7樓:在晴天的雨傘

非靜態可以直接訪問靜態

靜態不可以直接訪問非靜態

因為靜態函式可以直接通過 類::函式 中方式呼叫,不用通過物件來呼叫函式,而非靜態函式必須通過物件來呼叫,這裡面還涉及到例項化物件時候的記憶體分配。

c++,私有的類成員函式怎麼訪問?

8樓:匿名使用者

不可以,私有成員函式只能被該類內部成員函式呼叫。

9樓:林正英影迷網

可以通過友元函式實現

#include

using namespace std;

class test

~test(){}

private:

void display()

friend void display(test&);

};void display(test& t)int main(void)

10樓:韌勁

類的成員變數分三種: public protect private

1、類的成員函式可以訪問類這三類

2、繼承類成員函式可以訪問 protect 型別3、只有本身類的成員函式才可以訪問 private 型別4、類的物件若在其他函式中是不可以訪問類的 protect private型別變數

類其實是個模型。

而物件就是找個這個模型製作的實體。

比如,類是造車的圖紙,物件就是找個圖紙造出的汽車。

類的成員是分級別的:protect,public,private。

在類內部定義的函式可以訪問任何乙個變數,或者呼叫任何的類內部的函式,但是,如果被定義成private的話,物件是不能呼叫的,也就是物件只能呼叫定義為public的資料,如果你確實需要呼叫某個private的變數,你可以定義乙個public的函式來返回這個變數,比如:

class d

......

}這裡你的物件不能呼叫a的,

也就是不能

int b;

d d;//假設已經寫好了建構函式

b=d.a;//這是錯誤的,

但是你可以

b=d.getint();

這樣就可以把a的值給b了。

所有的public的函式都可以通過

《物件》.《函式名》

的方式來呼叫

11樓:張_銀

可以再宣告乙個公共函式,在此函式中呼叫私有的類成員函式。如:

public:

void func1()

void main()

12樓:

當然不可以,只能在自己的成員函式中呼叫

如何訪問私有成員(c 改錯),在C 中訪問類的私有成員變數的方法有哪些

在類中加入公有的get函式和set函式就可以訪問私有成員,直接訪問是不行的,不然就不叫私有成員了 私有成員變數在別的類中是無法訪問的,要不還叫什麼私有。不過子類可以通過設定器和訪問器來訪問父類的私有成員變數。public class a public void setname string name...

c 類體系中,析構函式能過載,C 類體系中,析構函式能過載?

她是我的小太陽 不能過載析構函式,只能宣告為虛函式,為了多型發生時能夠完全析構。只有建構函式才能過載,用於多種方式構造物件。如果通過基類指標動態構造公有派生類物件,再通過基類指標來動態釋放該物件就會發生這個問題,原因和過程很多教科書上都有,此時,基類的析構函式就要定義為virtual 型的了。 不能...

c 中類的構造與析構問題,c 中類的構造與析構問題

這是輸出結果,解釋等下就奉上!include using namespace std class a public a cout a 自己上機器除錯吧,不然是學不會語言的啦 c 關於組合類的構造析構問題 main函式中的2個變數,2個成員變數,一共4個 c 的類中,在建構函式中呼叫析構函式會發生什麼...

c中基類引用指向繼承類的物件

嚴格來說,應該說兩塊,a佔4個位元組的空間,儲存的是到b的引用位址,另一塊就是堆上的b例項了,因為a是乙個引用位址,a.methoda 實值上執行的是堆上b例項的b.methoda 父親有的東西兒子可以繼承 反過來呢 自然不允許 程式設計也是如此!派生類可以引用基類的變數 而積累則不可以 也不是太絕...

c 關於用類作為類中函式的引數問題

求兩點間距離的公式用錯了,引數貌似也不對,建議改成這樣 double distance mypoint point 定義類內部的函式不需要構造物件,把point後面的括號去掉 double distance mypoint point 當然寫成更好 double mypoint distance c...