Показать сообщение отдельно

  #9  
Старый 16.07.2008, 11:30
_antony
Познающий
Регистрация: 16.07.2008
Сообщений: 82
Провел на форуме:
424387

Репутация: 142
По умолчанию

Цитата:
Сообщение от sky7  
Пытаюсь запустить следующий пример на Microsoft Visual C++ 6.0
Код:
#include <iostream.h>

class DataClass
{
private:
	int PrivateDataMember;
public:
	Dataclass(int value);
	int PublicDataMember;
	int PublicMethod(void);
};

Dataclass::Dataclass(int value)
{
	PrivateDataMember = value;
}

int Dataclass::PublicMethod(void)
{
	return PrivateDataMember;
}

void main()
{
	Dataclass Dataobject(1);
	Dataobject.PublicDataMember = 2;

	cout << Dataobject.PublicDataMember << "\n";
	cout << Dataobject.PublicMethod() << "\n";
}
Но получаю такие ошибки:
D:\VCPP\Classes\classes\classes.cpp(12) : error C2653: 'Dataclass' : is not a class or namespace name
D:\VCPP\Classes\classes\classes.cpp(14) : error C2065: 'PrivateDataMember' : undeclared identifier
D:\VCPP\Classes\classes\classes.cpp(19) : error C2065: 'Dataclass' : undeclared identifier
D:\VCPP\Classes\classes\classes.cpp(19) : error C2146: syntax error : missing ';' before identifier 'Dataobject'
D:\VCPP\Classes\classes\classes.cpp(19) : error C2065: 'Dataobject' : undeclared identifier
D:\VCPP\Classes\classes\classes.cpp(20) : error C2228: left of '.PublicDataMember' must have class/struct/union type
D:\VCPP\Classes\classes\classes.cpp(22) : error C2228: left of '.PublicDataMember' must have class/struct/union type
D:\VCPP\Classes\classes\classes.cpp(23) : error C2228: left of '.PublicMethod' must have class/struct/union type
Error executing cl.exe.

classes.obj - 8 error(s), 0 warning(s)

Помогите разобратся
Ошибся из-за невнимательности class DataClass , а патом пишешь :
Код:
 Dataclass::Dataclass(int value)
. Ниже также.
в разделе public тоже исправь на
Код:
DataСlass(int value);
Код:
 int DataСlass::PublicMethod(void)
Код:
DataClass Dataobject(1);
Даже по логике , название конструктора должно быть идентично имени класса.

Последний раз редактировалось _antony; 16.07.2008 в 11:38..
 
Ответить с цитированием