gpt4 book ai didi

c++ - 为在 C++ 中的类中声明的结构定义构造函数

转载 作者:行者123 更新时间:2023-11-30 00:41:21 24 4
gpt4 key购买 nike

如何为结构声明构造函数?我的结构在类的私有(private)部分声明,我想为它声明我的构造函数。

下面是我的代码

class Datastructure {

private:

struct Ship
{
std::string s_class;
std::string name;
unsigned int length;

} minShip, maxShip;

std::vector<Ship> shipVector;
public:

Datastructure();
~Datastructure();
};

这是我的头文件;我如何为我的 struct Ship 声明构造函数以及我必须在 .h 文件或 cpp 文件中的何处实现该构造函数?

最佳答案

头文件中声明的构造函数

struct Ship
{
Ship();
std::string s_class;
std::string name;
unsigned int length;

} minShip, maxShip;

并在代码中实现:

DataStructure::Ship::Ship()
{
// build the ship here
}

或更有可能:

DataStructure::Ship::Ship(const string& shipClass, const string& name, 
const unsigned int len) :
s_class(shipClass), name(_name), length(len)
{
}

在标题中:

    struct Ship
{
private:
Ship();
public:
Ship(const string& shipClass, const string& name, unsigned len);
std::string s_class;
std::string name;
unsigned int length;

} minShip, maxShip;

关于c++ - 为在 C++ 中的类中声明的结构定义构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3841327/

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