程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> class-vector利用自己定義的類型出錯,其解答

class-vector利用自己定義的類型出錯,其解答

編輯:編程綜合問答
vector利用自己定義的類型出錯,其解答

#include
#include
using namespace std;
class Node
{
public:
Node();
void SetX(int);圖片說明
int GetX();
private:
int x;
};

Node::Node()
{
x = 0;
}
int Node::GetX()
{
return x;
}
void Node::SetX(int i)
{
x = i;
}

class test
{
public:
void Add(Node*);
vector GetNode();
private:
vector m_node;
};

void test::Add(Node* node)
{
m_node.push_back(node);
}
vector test::GetNode()
{
return m_node;
}

int main()
{
test tes;
for (int i = 0; i < 10; i++)
{
Node* node = new Node;
tes.Add(node);
}

vector<Node*>::iterator iter = tes.GetNode().begin();
for (; iter != tes.GetNode().end(); iter++)
{
    cout << (*iter)->GetX() << endl;
}

}

最佳回答:


你剛開始學吧,好好看看vector的用法

 class Node
{
public:
    Node();
    void SetX(int);
        int GetX();
private:
    int x;
};
Node::Node()
{
    x = 0;
}
int Node::GetX()
{
    return x;
}
void Node::SetX(int i)
{
    x = i;
}
class test
{
public:
    void Add(Node* node);
    vector<Node*>* GetNode();
private:
    vector<Node*> m_node;
};

void test::Add(Node* node)
{
    m_node.push_back(node);
}

vector<Node*>* test::GetNode()
{
    return &m_node;
}

int main()
{
    test tes;
    for (int i = 0; i < 10; i++)
    {
        Node* node = new Node;
        node->SetX(i);
        tes.Add(node);
    }

    vector<Node*>::iterator iter = tes.GetNode()->begin();
    for (; iter != tes.GetNode()->end(); iter++)
    {
        cout << (*iter)->GetX() << endl;
    }

    //最後釋放node
}

u013687804
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved