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)Foo()
constructor?

您可以在
Foo
构造函数中初始化
m_-piece
,以调用特定构造函数,例如:

class Foo
{
    Foo() : m_piece(0,0)
    {
    }
}

谢谢Jonathan Potter。为什么要声明默认构造函数呢?!
class Foo
{
    Foo() : m_piece(0,0)
    {
    }
}