sで満たされた構造体 (または格納するためだけに使用するクラス) があるとしdoubles
ます。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)