簡體   English   中英

C ++從另一個基類向結構添加數據成員

[英]C++ Adding a data member to a struct from another base class

再會。 我正忙於為大學的一個項目編碼,我想知道如何將數據成員添加到節點結構(對於鏈表),但該結構先前已定義。 我不能只是在原始結構中將其全部定義為指令狀態,否則。

這是我的結構,位於 ListAsSSL.h 文件中:

struct node
{
     node* next;
     Object obj;
};

我可以在另一個頭文件中執行此操作嗎:

struct node: node
{
    node* previous;
};

謝謝你。 我只是自學了裝飾器模式,但它只展示了如何使用類而不是結構來實現。

感謝您的幫助。 理查德

不,您不能像那樣擴展struct 而是創建一個帶有繼承的新struct ,如下所示:

struct node
{
     node* next;
     Object obj;
};

在你的另一個文件中:

struct newNode: node
{
    node* previous;
};

在您的客戶端代碼中,訪問結構的代碼,您必須使用新結構而不是舊結構。 請記住,這就是在許多情況下構建繼承的目的:向現有類添加更多功能!

你能創建一個新的結構嗎? 例如:

struct nodeV2
{
     Object obj;

     nodeV2* next;
     nodeV2* previous;
};

對我來說,這似乎是最簡單的方法。 這樣,您可以保留原始結構,而不會進入繼承。

祝一切順利。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM