1

/* Hello Friends ... 私は C++ の初心者です */

#include<iostream>
#include<conio.h>
using namespace std;

class A
{
    protected:
        int a,b;
    public:
        A():a(0),b(0){   }

};

int main()
{

 A *x;
 x = new A[20];
delete []x;
getch();
return 0;
}

私の質問は、 for ループを使用せずに配列を動的に作成しながら、いくつかのデフォルト値を渡すことができるように、クラス A でパラメーター化されたコンストラクターを作成する方法です。また教えてください、それらの値を渡す構文は何ですか?

4

1 に答える 1

0

あなたが望むのはこれだと思います:

#include<iostream>
#include<conio.h>
using namespace std;

class A
{
    protected:
        int a,b;
    public:
        A():a(0),b(0){   }
        A(int a, int b) : a(a), b(b) {  }

};

int main()
{
    A *x;
    x = new A[3]{ {10, 5}, {1, 2}, {4, 5} };
    delete []x;
    getch();
    return 0;
}

正しい. delete []a;_delete []x;

コンストラクターは、パラメーター リスト内のパラメーターandを使用しA(int a, int b) : a(a), b(b) { }てメンバーaandをそれぞれ初期化します。bab

次に、新しい呼び出しに対して、次のように中括弧でグループ化されたコンストラクターの引数を含むリストを指定します。

x = new A[3]{ {10, 5}, {1, 2}, {4, 5} };
于 2013-11-01T04:44:42.490 に答える