Le code ci-dessous donne une erreur de compilation lorsque j'essaie de créer le test t [2]; car il n'existe aucun constructeur par défaut pour cela.C++ Initialisation du tableau
Mais si je crée Test t[2] = {test(1,2), test(2,3)};
Ensuite, cela fonctionne très bien.
1) Mais pensez à une situation, si nous voulons créer plus de 100 éléments de tableau. Nous avons besoin de créer 100 éléments dans les accolades comme .. Test t [100] = {test (1,2), test (1,2) ....../100 fois /};
Le code ci-dessus est difficile à maintenir. Une solution supplémentaire consiste à créer une fonction membre publique qui prend 2 entiers et s'exécute en boucle. Cela résout le problème, mais je veux savoir toute autre bonne méthode.
2) Si je crée à l'aide de nouveaux
Test *t = new test[10];
J'obtiens l'erreur de compilation (Aucun constructeur par défaut). Comment résoudre ceci.
class test
{
int _a;int _b;
public:
test(int a, int b);
void display();
};
int _tmain(int argc, _TCHAR* argv[])
{
test t[10];
for (int i = 0 ; i< 10; i++)
t[i].display();
}
Le tableau peut-il être créé uniquement via le constructeur par défaut? n'est-il pas possible de créer un tableau avec un autre constructeur? – Naruto
Non, ce n'est pas possible. Comment écririez-vous cela? Il n'y a pas de syntaxe pour cela. –
Merci, Test t [2] = {test (1,2), test (2,3)}; .. nous pouvons écrire de cette façon, mais si le nombre d'éléments augmente, il est difficile de maintenir .. donc je demande un autre moyen est là? – Naruto