Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++聚合、传递参数 我是C++新手,所以非常感谢你的帮助。_C++_Oop - Fatal编程技术网

C++聚合、传递参数 我是C++新手,所以非常感谢你的帮助。

C++聚合、传递参数 我是C++新手,所以非常感谢你的帮助。,c++,oop,C++,Oop,问题是,如果我的主函数中有这样的函数,那么我的第二个类B的构造函数应该是什么样的: B B1(A(1,2),A(3,4),A(5,6)); 所以我有两门课 class A { public: A(float x=0, float y=0): _x(x),_y(y) {} A(const A & o) { _x=o._x; _y=o._y; } private: float _x,_y; }; 第二类

问题是,如果我的主函数中有这样的函数,那么我的第二个类B的构造函数应该是什么样的:

B B1(A(1,2),A(3,4),A(5,6));
所以我有两门课

class A
{
public:
    A(float x=0, float y=0): _x(x),_y(y)
    {}

    A(const A & o) 
    {
        _x=o._x;
        _y=o._y;
    }

private:
    float _x,_y;
};
第二类:

class B
{
public:
    B(????)
    {
    }
    ~B()
    {
    }

private:
    A *_pPoint;
};
编辑:


我希望它能将这些点保存到某个地方,以便以后使用。

由于构造函数是通过类型为A的参数传递的,所以可以-

B(A p, A q, A r); 

构造函数的声明可以如下所示

B( const A &, const A &, const A & );

至于它的定义,很难说清楚。例如,pPoint可以指向为数组或单个元素分配的内存区域。

您认为如何?。。发表您的想法。主要的下划线约定可能会导致C库实现名称出现问题。最好使用尾随下划线。原始指针成员a*_pPoint可能指向动态分配的数组。如图所示,代码没有适当注意复制,或者不允许复制。可能会出现双重删除和其他恶劣的未定义行为;改用std::vector。Bconst a&p1、const a&p2、const a&p3应能允许上述调用。我可能忽略了这一点,但是…-1您所询问的构造函数可能会将实际参数复制/移动到数组中。但你没说。也许相反,人们希望它对它们进行比较,或者做些别的事情。正确的签名取决于它的预期用途。向下投票是因为信息不足。也可以是B常量和a1、常量和a2、常量和a3。加上许多其他变种。但是这个答案和这个答案之间的选择取决于它的意图。