[英]using a data type declared inside a class outside
我是C ++的新手,所以對你們中的幾個人來說這是一個愚蠢的問題。
class DList {
public:
struct DNode {
int data;
DNode* next;
DNode* prev;
DNode(DNode* ptr1, DNode* ptr2, int val)
{
next = ptr1;
prev = ptr2;
data = val;
}
~DNode() {}
public:
DNode* getNext() {return next;}
int getNodeVal() {return data;}
};
這是我的DList結構。假設我想在其他cpp文件中的此類之外使用數據類型DNode聲明DNode類型的數據,我該如何使用它。
這只是名稱限定的問題:
DList::Dnode x;
這也適用於從外部引用類中靜態聲明的任何變量或函數。
class DList {
public:
struct DNode {
int data;
DNode* next;
DNode* prev;
DNode(DNode* ptr1, DNode* ptr2, int val)
{
next = ptr1;
prev = ptr2;
data = val;
}
~DNode() {}
public:
DNode* getNext() {return next;}
int getNodeVal() {return data;}
};
static int counter;
static int f() {/**/} //do some stateless operation related to the class
};
//...
DList::counter++;
int result = DList::f();
您可以使用以下方法聲明該類型的變量:
DList::DNode myNode;
如果您在其他cpp文件中,請確保#include "DList.h"
或該(希望的)頭文件的名稱。 如果它不是頭文件,則應將其移動到一個頭文件,並可能考慮將實現詳細信息移動到.cpp文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.