Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2010, 19:12   #1
G. J. Cezar
Пользователь
 
Аватар для G. J. Cezar
 
Регистрация: 03.10.2010
Сообщений: 11
Восклицание Class

date.h
//////////////////////////////////////////
Код:
#include "employ.h"
class date
{
public:
	date(int = 1);
	void print() const;
private:
	int day;
};
//////////////////////////////////////////
date.cpp
//////////////////////////////////////////
Код:
#include "date.h"
#include <iostream>
using namespace std;
date :: date(int dd)
{
	day = dd;
}
void date :: print() const
{
	cout << "Day " << day << endl; 
}
///////////////////////////////////////////
employ.h
//////////////////////////////////////////
Код:
class employ
{
public:
	employ(int = 1, int = 1);
	void emprint() const;
private:
	int month;
	date hire;
};
///////////////////////////////////////////
employ.cpp
///////////////////////////////////////////
Код:
#include "employ.h"
#include "date.h"
#include <iostream>
using namespace std;
employ :: employ(int ddd, int mm)
	: hire(ddd)
{
	month = mm;
}


void employ :: emprint() const
{
	hire.print();
	cout << "Month " << month << endl;
}
////////////////////////////////////////////
general.cpp
////////////////////////////////////////////
Код:
#include "date.h"
#include "employ.h"
#include <iostream>
using namespace std;
int main()
{
	employ a(25, 36);
	a.emprint();
	cin.get();
	return 0;
}
Данная программы использует набор двух классов.
Должна вивисты на экран :
Day 25
Month 36
вместо выбивает ошибка :
2010\projects\arrays\arrays\employ. h(8): error C2146: syntax error : missing ';' before identifier 'hire'
1>c:\users\микола\documents\visual studio 2010\projects\arrays\arrays\employ. h(8): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\микола\documents\visual studio 2010\projects\arrays\arrays\employ. h(8): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\микола\documents\visual studio 2010\projects\arrays\arrays\employ. h(2): error C2011: 'employ' : 'class' type redefinition
1> c:\users\микола\documents\visual studio 2010\projects\arrays\arrays\employ. h(2) : see declaration of 'employ'
1>c:\users\микола\documents\visual studio 2010\projects\arrays\arrays\general .cpp(7): error C2079: 'a' uses undefined class 'employ'
1>c:\users\микола\documents\visual studio 2010\projects\arrays\arrays\general .cpp(7): error C2078: too many initializers
1>c:\users\микола\documents\visual studio 2010\projects\arrays\arrays\general .cpp(8): error C2228: left of '.emprint' must have class/struct/union
1> type is 'int'
1> employ.cpp
1>c:\users\микола\documents\visual studio 2010\projects\arrays\arrays\employ. h(8): error C2146: syntax error : missing

Самостоятельно изучаю язык С ++.
Пишу на VC++ 2010.
Надеюсь на помощь форумчан.
http://tracker.all-in.org.ua/index.php
Gaius Julius Caezar
"Cogito ergo sum"
G. J. Cezar вне форума Ответить с цитированием
Старый 16.11.2010, 19:17   #2
Tema_Crazzzy
Форумчанин
 
Регистрация: 29.04.2010
Сообщений: 114
По умолчанию

Попробуйте добавить в employ.h
Код:
#include "date.h"
Tema_Crazzzy вне форума Ответить с цитированием
Старый 17.11.2010, 15:30   #3
G. J. Cezar
Пользователь
 
Аватар для G. J. Cezar
 
Регистрация: 03.10.2010
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Tema_Crazzzy Посмотреть сообщение
Попробуйте добавить в employ.h
Код:
#include "date.h"
Все равно не работает :
1> general.cpp
1>c:\users\микола\documents\visual studio 2010\projects\arrays\arrays\employ. h(3): fatal error C1014: too many include files : depth = 1024
1> employ.cpp
http://tracker.all-in.org.ua/index.php
Gaius Julius Caezar
"Cogito ergo sum"
G. J. Cezar вне форума Ответить с цитированием
Старый 17.11.2010, 19:17   #4
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Понапихайте в начало всех .h'ек #pragma once
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 17.11.2010, 23:35   #5
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,378
По умолчанию

Вообще в date.h не обязательно писать #include "employ.h"
А вот в employ.h #include "date.h" необходим.
И если вы в employ.h подключили date.h, то не надо его подключать в employ.cpp
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 18.11.2010, 16:21   #6
G. J. Cezar
Пользователь
 
Аватар для G. J. Cezar
 
Регистрация: 03.10.2010
Сообщений: 11
По умолчанию

Спасибо за помощь, все работает.
http://tracker.all-in.org.ua/index.php
Gaius Julius Caezar
"Cogito ergo sum"
G. J. Cezar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SoundPlayer class (C)stalin(Cpp) Общие вопросы .NET 3 26.03.2010 20:57
class solomon123456789 Общие вопросы C/C++ 5 03.08.2009 22:29
От .java в .class Iceman Общие вопросы по Java, Java SE, Kotlin 3 23.02.2009 16:36
class zzzzz Общие вопросы по Java, Java SE, Kotlin 2 03.04.2008 01:14