我得到一个名为 Node.h 的头文件,定义为:
#ifndef NODE_H
#define NODE_H
#define MAX_RESISTORS_PER_NODE 5
class Node
{
private:
int numRes; // number of resistors currently connected
int resIDArray[MAX_RESISTORS_PER_NODE]; // stores the index of each resistor
int *max_number_of_resistors;
int *max_number_of_nodes;
public:
Node();
~Node();
// Updates resIDArray to show the resistor in position rIndex in
// the resistor array is now connected to this node.
// Returns true if successful
bool addResistor (int rIndex);
// prints the whole node
// nodeIndex is the position of this node in the node array.
void print (int nodeIndex);
};
#endif /* NODE_H */
但是,没有为构造函数设置参数,那么如何将 max_number_of_resistors 初始化为另一个 cpp 文件获得的东西?我可以在这个名为 get_data(int node, int res) 的头文件和我的 Node.cpp 文件中创建一个新函数并执行此操作:
#include <Node.h>
get_data(int node, int res)
{
max_number_of_resistors = new int[res];
max_number_of_nodes = new int[node];
}
然后在我获取节点和资源数据的文件中,我可以做
int get_data(int x, int y)
{
cin >> x;
cin >> y;
get_data(x,y);
}