【发布时间】:2014-03-16 14:58:33
【问题描述】:
我是 C++ 新手,非常感谢您的帮助。
问题是如果我的主函数中有这个,我的第二类 (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;
};
编辑:
我希望它可以将积分保存到某个东西中,以便我以后可以使用它们。
【问题讨论】:
-
你怎么看?..发表你的想法。
-
前导下划线约定可能会导致 C 库实现名称出现问题。最好使用尾随下划线。
-
原始指针成员
A* _pPoint可能是指向一个动态分配的数组。如图所示,代码没有妥善处理此类复制或禁止复制。可能会出现双重删除和其他令人讨厌的未定义行为;请改用std::vector。 -
B(const A& p1, const A& p2, const A& p3) 应该可以允许上述调用。不过,我可能在这里错过了重点......
-
-1 大概您要询问的构造函数应该复制/移动数组的实际参数。但你不说。也许它应该比较它们,或其他东西。正确的签名取决于它的预期。因信息不足而投反对票。