我得到一个名为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];
}
然后在我得到node和res数据的文件中,我可以做到
int get_data(int x, int y)
{
cin >> x;
cin >> y;
get_data(x,y);
}
答案 0 :(得分:0)
您是否尝试过初始化列表?
Node()
: numRes(MAX_RESISTORS_PER_NODE)
{ ; }
您是否尝试使用参数创建另一个构造函数?
Node (unsigned int maximum_resistors)
: numRes(maximum_resistors)
{ ; }
或者
Node (unsigned int maximum_resistors)
{
numRes = maximum_resistors;
}