主要思想:通過公有成員函式將私有成員變數位址傳出去,在外部取得該位址,然後通過外部指標修改此位址的值,則此私有成員變數的值也改變了,突破了物件及類成員函式呼叫私有成員變數的限制,同理,成員函式的位址如果被外部獲取(例如使用模板時),則可以突破物件,呼叫此成員函式。
以下**用qt編寫,其他平台類似。
#ifndef mainwindow_h
#define mainwindow_h
#include
#include
namespace ui
class mainwindow : public qmainwindow
;#endif
#include "mainwindow.h"
#include "ui_mainwindow.h"
mainwindow::mainwindow(qwidget *parent) :
qmainwindow(parent),
ui(new ui::mainwindow)
int *mainwindow::ptest()
void mainwindow::display()
輸出:5 5 20 20 私有成員變數的訪問(類內與類外)
1 class ctest 1011 ctest ctest int i value i 1215 16 ctest ctest const ctest rhs value rhs.value 1720 21 ctest ctest operator const ctest rhs 2229 30v...
在類外如何訪問私有成員
1 通過公共函式為私有成員賦值 class test void sety int b void printxy void int main 2 利用指標訪問私有資料成員 class test void sety int b void getxy int px,int py int main 3 利用...
python 類私有成員
在python中定義私有變數只需要在變數名或函式名前加上 兩個下劃線,那麼這個函式或變數就會為私有的了。created on 2012 7 24 author administrator class test def test 1 self print test 1 is ok.def test 2...