所以对于学校我必须创建一个包含时间和数字的Node类(稍后用于插入排序).我还是C++的新手,所以我可能在这里做错了,但每当我调用我的GetNumber()方法时,它只会返回最后一个节点的编号.我的代码如下:
Node.cpp
#include "Node.h"
int n, t;
Node::Node(int number, int time)
{
n = number;
t = time;
}
Node::~Node(void)
{
}
int Node::GetTime(void)
{
return t;
}
int Node::GetNumber(void)
{
return n;
}
Run Code Online (Sandbox Code Playgroud)
在主要:
Node f(123, GetTickCount());
for (int i = 0; i < 1000; i++){}
Node g(124, GetTickCount());
for (int i = 0; i < 1000; i++){}
Node d(111, GetTickCount());
cout << f.GetNumber() << " " << f.GetTime()<<endl;
cout << g.GetNumber() << " " << g.GetTime()<<endl;
cout << d.GetNumber() << " " << d.GetTime()<<endl;
Run Code Online (Sandbox Code Playgroud)
并输出:
111 168921894
111 168921894
111 168921894
Run Code Online (Sandbox Code Playgroud)
int n, t;
Run Code Online (Sandbox Code Playgroud)
您正在声明n并t作为全局变量 - 它们不属于任何特定对象.所有的Node旨意看到相同n和t对象.
您应该将这些声明为以下成员Node:
class Node {
// ...
int n, t;
// ...
};
Run Code Online (Sandbox Code Playgroud)