コードに整数データメンバーを含むクラスがありますが、メソッドはありません。new()を使用して新しいオブジェクトを作成するときに、すべてのデータ項目を0で初期化する方法はありますか?
質問する
294 次
3 に答える
5
class A
{
int x_;
int y_;
public:
A()
:
x_(0),
y_(0)
{}
};
ブラケット "{}" の前の A() コンストラクターの部分は "初期化リスト" と呼ばれ、上記の場合は変数をデフォルト値 0 に初期化するために使用します。これらの値を引数として取る可能性のあるコンストラクター。ただし、タイプ A のオブジェクトを初期化すると (たとえば、"new" で)、属性はそれらの値に初期化されます。宣言されているのと同じ順序で属性を初期化するのは良いコーディング スタイルです。これにより、コードが読みやすくなります。
于 2013-01-08T12:37:23.207 に答える
3
値の初期化:
struct X
{
int i, j;
};
X* x = new X(); // The '()' are required.
// 0 == x->i && 0 == x->j
于 2013-01-08T12:33:31.063 に答える
2
class clasName{
int x1= 0;
int x2= 0;
int x3= 0;
int x4= 0;
int x5= 0;
}
C++11 のみ。
于 2013-01-08T12:30:14.503 に答える