簡體   English   中英

將對象傳遞給類構造函數

[英]Pass an object to a class constructor

我有兩個類:poly和Node。 我創建一個鏈接的節點列表,然后我想創建一個新的多邊形對象,其中包含指向我的第一個Node對象的指針。

這是調用代碼:

poly *polyObj = new poly(head);

我已經測試了我的代碼,並確認“head”包含節點的鏈接列表,head也被聲明為Node *。

以下是類定義:

class poly
{
  private:
    Node *start;  
  public:
    poly(Node *head)
    {
      start = head;
    }
};

class Node
{
   private:
    double coeff;
    int exponent;
    Node *next;

  public:
    Node(double c, int e, Node *nodeobjectPtr)
    {
      coeff = c;
      exponent = e;
      next = nodeobjectPtr;
    }
};

我不明白為什么我不能將Node *傳遞給我的poly構造函數。

我不明白為什么我不能將Node *傳遞給我的poly構造函數!

因為poly需要知道Node是一種類型。 您可以通過前向聲明來實現:

class Node; // fwd declaration

class poly
{
private:
    Node *start;    
public:
  poly(Node *head)
  {
    start = head;
  }
};

或者,您可以在poly的定義之前放置Node類定義。

暫無
暫無

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

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