21.03.2013, 07:12. Просмотров 504. Ответов 5
Доброе утро!
При попытке доступа к данным-элементам объекта, созданного конструктором по умолчанию, программа загибается. Возникло подозрение, что конструктор по умолчанию своё дело не делает. Поэтому написал вот что:
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| class Class
{
public:
int Var;
Class ();
};
void main()
{
Class Object();
Object.Var = 1;
cout << Object.Var;
getchar();
} |
|
Компилятор выдаст ошибку
error C2228: выражение слева от ".Var" должно представлять класс, структуру или объединение
А вот код
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| class Class
{
public:
int Var;
Class (int n)
{
};
};
void main()
{
Class Object(1);
Object.Var = 1;
cout << Object.Var;
getchar();
} |
|
работает.
Конструктору непременно нужен аргумент, даже если он не собирается его использовать. Подскажите, пожалуйста, почему.