假设我有一个结构(或我只用于存储类)填充doubles
s。我做一个构造函数分配给那些doubles
S:自动创建成员,如果他们用于建设
struct Point {
double time;
double x;
double y;
Point(double a_time, double a_x, double a_y)
: time(a_time), x(a_x), y(a_y) {}
}
这似乎是多余的,如果他们在构造函数中已经声明在类中声明成员。 有没有办法减少这些冗余,使构造函数中使用的成员自动成为类的公共成员?也可能对其他成员函数有用。
这个例子类似于Programming: Principles and Practice Using C++的第348页上的例子。所以这是当代已建立的编码风格。 此外,我正在寻找一种现代C++风格的解决方案,意思是没有预处理器。
更新(1) 这个结构需要在以下方式中使用:
vector<Point> points
points.push_back(t0,x0,y0)
你可以围绕它做在某些情况下其他的方式:HTTP:// WWW2 .research.att.com /〜bs/C++ 0xFAQ.html#member-init – chris 2012-07-20 21:45:33
你有什么建议当类有多个构造函数? – 2012-07-20 21:48:33
为什么要声明构造函数中使用的所有类的public成员? – Martin 2012-07-20 21:48:56