gpt4 book ai didi

c++ - 在 C++ 的头文件和 Cpp 文件中使用类

转载 作者:太空宇宙 更新时间:2023-11-04 14:00:52 25 4
gpt4 key购买 nike

我得到一个名为 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);
}

最佳答案

您是否尝试过初始化列表

Node()
: numRes(MAX_RESISTORS_PER_NODE)
{ ; }

您是否尝试过使用参数创建另一个构造函数?

Node (unsigned int maximum_resistors)
: numRes(maximum_resistors)
{ ; }

或者

Node (unsigned int maximum_resistors)
{
numRes = maximum_resistors;
}

关于c++ - 在 C++ 的头文件和 Cpp 文件中使用类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19347873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com