结构定义如下:
struct Edge {
int weight;
Vertex* v1;
Vertex* v2;
};
我需要做类似的事情
new Edges(v1, v2, v3);
但这只能通过“类”和使用ctor来完成。如何创建 struct 的新元素并同时对其进行初始化?
谢谢!
结构定义如下:
struct Edge {
int weight;
Vertex* v1;
Vertex* v2;
};
我需要做类似的事情
new Edges(v1, v2, v3);
但这只能通过“类”和使用ctor来完成。如何创建 struct 的新元素并同时对其进行初始化?
谢谢!
struct
您也可以在 C++ 中为 a 编写构造函数。ACstruct
非常有限,但在 C++ 中,和之间只有2 个区别。 struct
class
class
所有成员中都是默认的private
,在struct
所有成员中都是默认的public
。 struct
从defaults继承到public
while class
defaults toprivate
谢谢@gil_bz 和@icepack
您需要创建一个参数化的构造函数。这样做
struct Edge
{
int weight;
Vertex* v1;
Vertex* v2;
Edge(int a_weight, Vertex *a_v1, Vertex *a_v2)
{
weight = a_weight;
v1 = a_v1;
v2 = a_v2;
}
};
然后像这样创建对象:
Edge e(9, v1, v2);