如何在此类中调用构造函数

How to call the constructor in this class.

本文关键字:调用 构造函数      更新时间:2023-10-16

下面是一个虚构的示例,但代表了我正在处理的代码示例。

我们如何在这里调用类test的构造函数?

class Test
{
public:
  Test(vector<double>* pt)
  {
    ptv = pt;
  }
  vector<double>* ptv;
};

class container
{
public:
  container(double a, double b)
  {
    v.push_back(a);
    v.push_back(b);
    // How to call the construtor of ct_ptv here? 
  }
  vector<double> v;
  Test        ct_ptv;
};

换句话说,我有两个班级。其中之一称为容器,其实例化包含大小为 2 的向量。一样类还将有一个名为 Test 的类,该类将包含一个指针到矢量v.

我如何在这里调用ct_ptv的构造函数?

class container
{
public:
    container(double a, double b) :
        v({ a, b }),
        ct_ptv(&v)
    {
    }
    vector<double> v;
    Test ct_ptv;
};
class container
{
public:
  container(double a, double b)
      : ct_ptv(&v)
  {
    v.push_back(a);
    v.push_back(b);
  }
  vector<double> v;
  Test        ct_ptv;
};