如何为结构声明构造函数?我的结构是在类的私有部分声明的,我想为它声明我的构造函数.
以下是我的代码
class Datastructure {
private:
struct Ship
{
std::string s_class;
std::string name;
unsigned int length;
} minShip, maxShip;
std::vector<Ship> shipVector;
public:
Datastructure();
~Datastructure();
};
Run Code Online (Sandbox Code Playgroud)
这是我的头文件; 如何为我的struct Ship声明构造函数以及在哪里可以在.h文件或cpp文件中实现该构造函数?
在头文件中声明的构造方法
struct Ship
{
Ship();
std::string s_class;
std::string name;
unsigned int length;
} minShip, maxShip;
Run Code Online (Sandbox Code Playgroud)
并在代码中实现:
DataStructure::Ship::Ship()
{
// build the ship here
}
Run Code Online (Sandbox Code Playgroud)
或更有可能:
DataStructure::Ship::Ship(const string& shipClass, const string& name,
const unsigned int len) :
s_class(shipClass), name(_name), length(len)
{
}
Run Code Online (Sandbox Code Playgroud)
在标题中有这个:
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;
Run Code Online (Sandbox Code Playgroud)