如何訪問派生類中的基類數據成員? 我想使用docElem
數據成員已初始化customizeCSMWindow()
構造函數在subMenuLists::changeWidget()
。如何訪問基類的公共數據成員?
class myWidget
{
public :
QDomElement docElem;
QDomDocument *menuOrderXMLFile;
};
class subMenuLists : public QListWidget , public myWidget
{
Q_OBJECT
public slots:
void changeWidget(int index);
};
class customizeCSMwindow : public QDialog , public myWidget
{
Q_OBJECT
public :
subMenuLists *menuList;
customizeCSMwindow(QString);
}
customizeCSMwindow::customizeCSMwindow(QString fileName)
{
menuOrderXMLFile = new QDomDocument();
file = new QFile(fileName);
QString errorStr;
int errorLine;
int errorColumn;
if(!menuOrderXMLFile->setContent(file, false , &errorStr, &errorLine,
&errorColumn))
std::cout<<"not found \n";
else
docElem = menuOrderXMLFile->documentElement();
}
void subMenuLists::changeWidget(int index)
{
clear();
// How to access that docElem here??
}
如何訪問void subMenuLists::changeWidget()
功能docElem
?
編輯:
我想解釋一下我的問題,看你能不能幫我。我想要的是,得到docElem
這是cusomizeCSMWidnow
construtor分配的值,在subMenuList::changeWidget()
函數中。截至目前,當我訪問changeWidget
函數中的docElem
時,它會給出空值/未初始化的值。
什麼是'Q_OBJECT'?順便說一句 - 擁有公共數據成員不是一個好主意。最好有getter和setter –
只需使用它:'docElem.doWhatever();'? –
允許訪問docElem,但事情是我沒有得到在customCSMWindow的構造函數中分配給它的docElem的值。我錯過了什麼嗎? – user3187568