1樓:匿名使用者
將類b宣告為類a的友元類就可以通過物件或者指標修改私有成員了
2樓:匿名使用者
可以在classa中新增乙個classa::set(int numa) 方法,其實也可以用轉換建構函式來實現,如 classa::classa(int numa) :
a(numa) {}
如果要實現 += 符合運算子操作,則需過載。
3樓:匿名使用者
方法一:
在a中寫入私有成員的get,set方法。
將a作為b的私有成員 a mya;
在b中呼叫a的get, set方法。
如下面的示例**:
class a
int geta()
};class b
};方法二:
在a中寫入私有成員的get,set方法。
在b中以函式引數的方式呼叫a的get, set方法。
如下面的示例**:
class a
int geta()
};class b};
4樓:
如果這個類有set/get方法的話直接調,沒的話不能訪問私有成員,除非你給這個類定義乙個友元函式,但是這會破壞其封裝性
5樓:匿名使用者
通過友元類可以實現修改另乙個類的私有資料
舉例如下:
#include
class beta; //前向宣告
classalpha ;
classbeta
void get_data(alpha d)};
6樓:匿名使用者
私有資料,就是private型別的資料,除了這個類本身,其他類是不能夠以任何方式修改其資料的。也就是說,想修改這個資料,必須呼叫這個函式提供的對應方法(比如set函式),若該類沒有提供類似的方法,則不存在其他類修改的可能。
另外,在c++中存在友元函式,友元函式是可以修改其他類的私有資料的,但是必須是其他類宣告某函式是他的友元函式時才可以。比如a類有私有資料num,必須在a類內部宣告他有友元函式b(),那麼b才能訪問a的私有元素
c++中可以定義乙個類成為另乙個類的私有成員嗎? 10
7樓:匿名使用者
a裡面的public的物件,你在b裡面都可以直接訪問到,其他的protecte和private的,雖然通過friend 方式可以訪問,但是破壞回了類的封答裝性,也沒有必要 ,但如果一定要用,那就暴露乙個介面函式訪問吧
8樓:匿名使用者
可以,而且可以通過定義友元來呼叫私有函式
9樓:九霄環佩
可以通過友元函式夫人frend
C 如何在類中引用另類的變數,C 如何在一個類中引用另一個類的變數
在第二個類中例項化第一個類,在通過例項化後的類的函式 一般是get之類的函式 來引用!看看這個方法行不行 如果是兩個孤立的類,最好不要這麼做,一個類需要用到的資料,最好是從另外一個類公開的介面來獲取。直接引用另外一個類的變數,會破壞資料的封裝性,會有麻煩的。如果是派生類要引用基類的資料,只要資料不是...
如何在中把顏色統一修改替換,如何在word中把顏色統一修改替換
可以通過查詢和替換功能來實現,其具體的操作步驟 1 單擊開始 查詢按鈕 或按ctrl h組合鍵 2 彈出查詢和替換對話方塊,單擊格式按鈕,在彈出的下拉選項中選項字型 3 彈出查詢字型對話方塊,在字型顏色處選擇紅色 4 切換到替換選項卡,將游標定位在替換為輸入框中,單擊格式按鈕,在彈出的下拉選項中選項...
C 中,如何例項化類例項,C 中,如何例項化一個類例項
朋璣崇綺煙 例項化這個類如果不帶引數,需要寫個不帶引數的建構函式。一般不寫建構函式,系統會自動生成一個,但是由於你寫了一個帶引數的建構函式,系統不會自動生成,如果你不在程式中自己寫出來,那麼無法例項化。繼承這個類 class dog animal 加個冒號就可以了 test t 分配給例項 t 的是...