mfc中類中的成員變數的呼叫問題
最近遇到了一個問題,在VS2010中建立單文件工程,然後裡面添加了一個對話方塊並在對話方塊上添加了四個按鈕,
為這四個按鈕添加了四個BOOL型的變數,併為他們新增Click訊息響應函式,當按下某個按鈕時只能有一個對應的
BOOL型變數變為TRUE,其它全為FALSE。然後在CView類中呼叫對話方塊類中的四個變數進行控制畫圖操作,
奇怪的是我在CView類中定義了對話方塊類的物件,但是在單擊對話方塊上的按鈕時,在對話方塊類中BOOL型變數發生改變了,
但是在CView類中相應的BOOL型變數還是初始化時候的值沒有發生改變。問題來了,為什麼在CView類中的對話方塊物件
相應的BOOl型變數沒有發生相應的改變呢?
後來才明白,對話方塊類和我在CView類中定義的對話方塊類的物件是平行關係,而不是繼承關係,所以他們是不可以互用的。
後來我將這些BOOL型的變數定義成全域性變數就可以使用了。
哪位大神還有什麼指教隨時歡迎啊,我是初學者經驗不足!
相關推薦
iOS --- Objective-C中類的成員變數與屬性
在Objective-C的類與物件的概念中. 成員變數與屬性的區別與聯絡一直沒有搞清楚. 直到學習了慕課網上的這個課程Objective-C面向物件初體驗, 才算真正有了點感覺了. 最關鍵的結論就是: 類內使用成員變數{}, 類外使用屬性@property.
mfc中類中的成員變數的呼叫問題
最近遇到了一個問題,在VS2010中建立單文件工程,然後裡面添加了一個對話方塊並在對話方塊上添加了四個按鈕, 為這四個按鈕添加了四個BOOL型的變數,併為他們新增Click訊息響應函式,當按下某個按鈕時只能有一個對應的 BOOL型變數變為TRUE,其它全為F
java中多型父類的成員變數和方法呼叫問題
class Super { String name = "父類名字"; public void setName(String name) { System.out.println(this.getClass());
定義一個包含私有成員變數和函式的類,再定義一個內部類,在內部類函式中訪問外部成員變數,並呼叫外部函式。在外部類函式中建立內部類物件,呼叫內部類函式
public class Test5 { //定義包含私有成員變數和函式 private int a = 201320883; private voi
MFC C++類中的靜態成員變數和靜態成員函式的作用
資料成員可以分靜態變數、非靜態變數兩種. 靜態成員:靜態類中的成員加入static修飾符,即是靜態成員.可以直接使用類名+靜態成員名訪問此靜態成員,因為靜態成員存在於記憶體,非靜態成員需要例項化才會分配記憶體,所以靜態成員不能訪問非靜態的成員..因為靜態成員存在於記憶體,所以非靜態成員可以直接訪問類中靜態的
C++中一個類訪問另外一個類的成員變數或者成員函式
1.在一個類中定義另外一個類的成員為指標型別。並用this指標管理物件的記憶體,實現資料的傳遞。 #include <stdio.h> class A { public: A(); ~A(); void SetData(int year, int month, int day);
C++中的 靜態成員變數,全域性類物件,單例模式
前段時間要實習一個充值介面,建立了一個類(就叫類A好了),這個類A要和另外3個類進行互動,3個類對類A修改的資料是對其他類可見的。這種情況我想到了3個方法: 1.static 靜態成員,靜態成員為該類的所有例項所共享,3個類中各自建立一個類A的物件,它們對靜態成員的修改對其他類可見。 2.全
出現 Unable to instantiate default tuplizer,hibernate自動建表失敗,原因是在實體類中聲明瞭成員變數describe,而describe是mysql關鍵字
歡迎使用Markdown編輯器寫部落格 本Markdown編輯器使用StackEdit修改而來,用它寫部落格,將會帶來全新的體驗哦: Markdown和擴充套件Markdown簡潔的語法 程式碼塊高亮 圖片連結和圖片上傳 LaTex數學公式 UML序列圖和
(C++)在類外訪問一個類中的私有成員變數
通過公共函式為私有成員賦值 #include <iostream> using namespace std; class Test { privat
如何訪問類中的private成員變數
總所周知,類中的private屬性的成員變數在類外是無法訪問的,今天我們探討的就是如何在類外訪問private屬性的成員變數。 我們先來看一個簡單的例子: class STU { public: STU() { x = 5;
沒有躲過的坑--類中的靜態成員變數(static or const static)
工作中是這樣的,A類中有一個成員變數x,最開始宣告為私有: class A{ private: int x; }; 現在需要在另一個cpp中使用這個x,所以要把它變為共有並且靜態: class A{ public: static int
C++中類中常規變數、const、static、static const(const static)成員變數的宣告和初始化
C++類有幾種型別的資料成員:普通型別、常量(const)、靜態(static)、靜態常量(static const)。這裡分別探討以下他們在C++11之前和之後的初始化方式。 c++11之前版本的初始化 在C++11之前常規的資料成員變數只能在建構函式
關鍵字static的作用是什麼? C++類中的靜態成員變數和靜態成員函式的作用
關鍵字static的作用是什麼? 本題目轉自《面試寶典》 1,函式體內static變數的作用範圍為該函式體,不同於auto變數,該變數的記憶體 只被分配一次,因此其值在下次呼叫時,仍維持上次的值; 2,在模組內的static全域性變數可以被模組內所有的函式訪問,但不能被模
C++ 類中特殊的成員變數(常變數、引用、靜態)的初始化方法
有些成員變數的資料型別比較特別,它們的初始化方式也和普通資料型別的成員變數有所不同。這些特殊的型別的成員變數包括: a.引用 b.常量 c.靜態 d.靜態常量(整型) e.靜態常量(非整型) 常量和引用,必須通過引數列表進行初始化。 靜態成員變
派生類的建構函式中,可以將基類作為成員變數進行初始化
#include<stdio.h> #include<string> #include<iostream> using namespace std; class
java中父類子類的成員變數和成員方法在記憶體分配上的一些理解
先宣告,以下是個人自己的理解(我也怕誤人子弟),如有錯誤請指出一起學習交流。先上程式碼:package myTest; class A { int num = 5; A() { show(); } public void show() { System.
反射機制:類中方法及成員變數賦值
Person.java: package test; publicclass Person { private String name; privateint ag
Robotics toolbox 中LINK類的成員變數定義
l.alpha = 0; %杆件長度 l.A = 0; %杆件轉角 l.theta = 0; %杆件關節變數 l.D = 0; %相鄰杆件偏距 l.sigma
C++/Java__中類模板中的靜態成員變數和靜態成員函式
C++: 類模板例項化的每個模板類(每個模板類指的是對於宣告時候對模板指定的型別,如List<int>,List<double>中的int,double.)都有自己的類模板靜
Java中ThreadLocal,成員變數和區域性變數。
一.成員變數和區域性變數 1.程式例子: public class HelloThreadTest { public static void main(String[] args) { HelloThread r = new HelloThread();