c++:如何创建带有两个括号的对象(类).for ex Point obj1((2,2),(3,8))
C++: How to make a object (class) with two brackets. for ex Point obj1((2,2),(3,8))
我有这样的代码
class Point
{
private:
float x,y;
public:
Point(const float _x,const float _y)
{
x=_x;
y=_y;
}
~Point(){};
};
class triangle
{
private:
Point *objPOA;
Point *objPOB;
Point *objPOC;
public:
triangle(const float a,const float b,const float c,const float d,const float e,const float f)
{
objPOA=new Point(a,b);
objPOB=new Point(c,d);
objPOC=new Point(e,f);
}
~triangle()
{
delete objPOA;
delete objPOB;
delete objPOC;
}
};
我想让这个
int main()
{
triangle obj((1,2),(2,5),(8,6));
return 0;
}
可以做到;我的意思是在obj内部参数包括括号。
这可以不使用括号,但我想知道是否可以使用括号
你可以让你的三角形构造函数取3个Point
s
triangle(const Point& p1, const Point& p2, const Point& p3):
objPOA(p1), objPOB(p2), objPOC(p3) {}
并在类中定义Point
类型的常规对象而不是指针
Point objPOA, objPOB, objPOC;
您可以使用{ }
在triangle
的构造函数中将Point
s初始化为
triangle obj({1,2},{2,5},{8,6});
,因为Point
是聚合。在c++ 11中,由于新的统一的初始化语法,即使Point
是非聚合,上述语法也有效。
相关文章:
- C++:返回一个基于范围 for 循环迭代器,其中包含继承对象
- Pybind11:使用 for 循环使用 OpenMP 访问 python 对象
- 如何在 c++ 中使用 for 循环输出矢量中的所有对象
- 我想在 C++ 中使用 for 循环创建类对象
- 基于范围的 for 循环将对象移动到另一个容器中?
- 访问类的 std::vector 与 for 循环中的 custum 类对象
- 非常量对象的向量似乎在基于范围的 for 循环中被视为常量
- 调用模板函数的问题"No matching function for call"参数:迭代器、对象函数
- 基于范围的 for 循环,用于包含C++中的指针的自定义链表,仅返回对象
- 在<Object>基于范围的 for 循环中从 std::vector 获取指向对象的指针
- 在 for 循环中创建的对象具有相同的地址
- 当从此到子类中的新对象时,将显示警告"destination for this 'memcpy' call is a pointer to dynamic class..."
- C 试图初始化我在for循环中写的类的对象
- 基于范围的 for 循环的对象生存期问题
- 为什么OpenCV Mat对象在嵌套for循环中指定了预期值后却不包含这些值
- 如何在每次运行循环时更改for循环中的对象
- 获取 while、if 和 for 语句的用户定义类的对象值
- 对象, 在 Vector 中, 在'For Loop'初始化中损坏
- 对象初始化和循环在"for"中?
- 以旧方式C++遍历对象指针数组(没有基于范围的 for)