我是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();
关于c++ - 使用在类外部声明的数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9401489/