2016-11-07 21 views
-2

我有一個ADialog類中的函數,它具有用戶輸入x11,我想調用BDoc中的函數。怎麼做? .cpp文件的如何在另一個類的一個類中調用一個函數的對象?

.h file 
#ifndef A_DIALOG_H 
#define A_DIALOG_H 

class ADialog : public wxDialog 
{ 
public: 
     ADialog(wxWindow* parent, wxWindowID id, int click); 
     wxTextCtrl *d_x1; 
     void setAData(); 
}; 
#endif 

部分.cpp文件的

void ADialog::setAData() 
{ 
    double x11; 
    d_x1->GetValue().ToDouble(&x11);  
} 

部分類BDOC的

void BDoc::ATCut() 
{ 
    //(get the value of x11 that user inputs in this part) 
} 
+0

我在'ADialog'中看不到任何方法。 –

+0

是不是setAData()的成員函數? – Leo001

+0

它在類聲明中沒有聲明。我不知道它是「公共」還是「私人」。它是否是靜態的?你能發佈全班嗎? –

回答

-1

製作類ADialog朋友。因此,您可以輕鬆訪問BDoc類中的類ADialog函數。

+0

'd_x1'已經公開了? –

+0

是的,它是公開的 – Leo001

+1

@ Leo001所以一個失蹤的「朋友」關係不是罪魁禍首。忘記這個_「答案」_。 –

0

包括在你的主叫類BDocADialog類的頭,然後調用SetAData()

ADialog obj; 
obj.SetAData(); 

可以修改SetAData()返回x11如果你想。

+0

我做到了,但後來x11不能訪問 – Leo001

+0

,我不能改變類型,它是無效的。我的意思是改變類型意味着改變更多的東西,所以我想知道是否有其他方式 – Leo001

+0

@Leo001如何將x11作爲成員變量並通過公共接口訪問? – HazemGomaa

相關問題