C++调用结构中类的元素



在C++中,我正在尝试学习如何实现链表。我有一个定义颜色的类,并希望在我的节点结构中引用该类的特定元素。以下语法是否正确?

//Create a class for colors
class Color
{
public:
    int red;
    int green;
    int blue;
    int alpha;
};
//Create an object to reference the color class
Color colorObject;

//Create a node struct
struct Node
{
    Color colorObject.red;
    Color colorObject.green;
    Color colorObject.blue;
    Color colorObject.alpha;
    Node *next;
};
template <typename T>
struct Node
{
    T payload;
    Node *next;
};
Node<Color> oneColorNode;
oneColorNode.payload.red = 0xff;
使用

模板,我们能够使用任何类型的有效负载参数化通用 Node 类,如您的示例。

调整代码以符合您的意图的最简单方法是进行以下更改:

struct Node
{
    Color data;
    Node *next;
};

现在假设您有一个名为 the_nodeNode实例,并且您想访问其中包含的Color数据的元素,那么您可以执行以下操作:

std::cout << the_node.data.red;

这将打印存储在Node data成员中的红色成员的值Color。如果您想搜索它但不知道那里的那些.的名称,请搜索"c ++ 成员访问运算符"。

请注意,我们这里的链表实现仅适用于 Color 类型的数据,如果您想创建一个更通用的链表类,可以使用任何类型的数据,那么您需要使用模板,请查看 AlexanderVX 的答案以获取详细信息。

相关内容

  • 没有找到相关文章

最新更新