C++ C++;-如何在另一个类中实例化构造函数为private的对象
我有一个C++ C++;-如何在另一个类中实例化构造函数为private的对象,c++,object,instantiation,C++,Object,Instantiation,我有一个类片段,我把它放在默认构造函数的private中,因为我只想在创建对象时使用特定的构造函数: class Piece { private: Piece(); public: Piece (int var1, int var2); ~Piece(); } 现在我有一个类游戏,有一个碎片向量: class Game { private: std::vector<Piece> m_pieces; public: Game(); ~Game(); Cre
类片段
,我把它放在默认构造函数的private
中,因为我只想在创建对象时使用特定的构造函数:
class Piece
{
private:
Piece();
public:
Piece (int var1, int var2);
~Piece();
}
现在我有一个类游戏
,有一个碎片向量
:
class Game
{
private:
std::vector<Piece> m_pieces;
public:
Game();
~Game();
CreatePieces(); //<-- only here, I will create the Piece objects, not in the constructor
}
我的问题:
现在我需要使用Foo类
上的m_片段
的默认构造函数。
但是我想避免这种情况,并像在游戏类中那样使用
我是否可以保持我的工件类的原样,创建一个工件对象,就像在Foo类中一样,但用构造函数工件初始化它(int var1,int var2)在myFoo()
constructor?您可以在Foo
构造函数中初始化m_-piece
,以调用特定构造函数,例如:
class Foo
{
Foo() : m_piece(0,0)
{
}
}
谢谢Jonathan Potter。为什么要声明默认构造函数呢?!
class Foo
{
Foo() : m_piece(0,0)
{
}
}