【发布时间】:2016-05-24 05:05:51
【问题描述】:
我有一个任务,我必须使用带有 void* 作为数据的节点链表。我会用一个对象填充节点。我想知道在链接列表中之后访问对象成员的某种方法,而不是将其强制转换为类。可能吗?另外,这是我的一部分代码,以防万一它有助于澄清我的问题。
struct Node
{
void* data_;
Node* next_;
Node()
{
data_ = 0;
next_ = 0;
}
};
class Star
{
private:
char name_[ENTRY_SZ];
long temperature_;
double luminosity_;
double mass_;
double radius_;
public:
static char filePath_[ENTRY_SZ];
Star(char* name);
void SetTemperature(char* temp);
void SetLuminosity(char* lum);
void SetMass(char* mass);
void SetRadius(char* rad);
void PrintToConsole();
void AppendToFile();
};
我希望能够在 PrintToConsole 函数位于 void* 后调用它。
【问题讨论】:
-
仅供参考——您不需要链接列表来提出这个问题。您想获取一个 void 指针并将其变成具体的东西。如果不是
Star类型是简单的int或double,则答案基本相同。
标签: c++ pointers void-pointers