приведенный ниже код выдает ошибку компиляции при попытке создать тест t [2];
потому что для этого нет конструктора по умолчанию.
Но если я создам Test t[2] = {test(1,2), test(2,3)};
, тогда он работает нормально.
1) Но подумайте о ситуации, если мы хотим создать более 100 элементов массива. Нам нужно создать 100 элементов в фигурных скобках, как ..
Test t [100] = {test (1,2), test (1,2) …… / 100 раз /};
Приведенный выше код трудно поддерживать.
Еще одно решение - создать открытую функцию-член, которая принимает 2 целых числа и запускается в цикле. Это решает проблему, но я хочу знать любой другой хороший метод.
2) Если я создаю его, используя новый
Test *t = new test[10];
Я получаю ошибку компиляции (нет конструктора по умолчанию). Как это решить.
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();
}