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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2011, 19:19   #1
Blad47
Пользователь
 
Регистрация: 10.11.2008
Сообщений: 93
По умолчанию Ошибка в классах с++

Код:
struct date
{
	int day;
	int month;
	int year;
};

struct time
{
	int hour;
	int min;
	int sec;
};


class Base
{
private:
	char* surname;
	int number;
	date date_call;
	double tarif;
	time time_begin;
	time time_end;
public:
	Base();
	Base(const char*, int, date, double, time, time);
	~Base();
	void set_surname(const char*);
	void set_number(int);
	void set_date(date);
	void set_tarif(double);
	void set_time_begin(time);
	void set_time_end(time);
};

Base::Base()
{
	surname = new char[255];
}

Base::Base(const char* Nsurname, int Nnumber, date Ndate_call, double Ntarif, time Ntime_begin, time Ntime_end)
{
	surname = new char[strlen(Nsurname)+1];
	strcpy(surname, Nsurname);
	number = Nnumber;
	date_call.day = Ndate_call.day;
	date_call.month = Ndate_call.month;
	date_call.year = Ndate_call.year;
	tarif = Ntarif;
	time_begin.hour = Ntime_begin.hour;
	time_begin.min = Ntime_begin.min;
	time_begin.sec = Ntime_begin.sec;
	time_end.hour = Ntime_end.hour;
	time_end.min = Ntime_end.min;
	time_end.sec = Ntime_end.sec;
}

Base::~Base()
{
	delete []surname;
}

void Base::set_surname(const char* Nsurname)
{
	surname = new char[strlen(Nsurname)+1];
	strcpy(surname, Nsurname);
}

void Base::set_number(int Nnumber)
{
	number = Nnumber;
}

void Base::set_date(date Ndate_call)
{
	date_call.day = Ndate_call.day;
	date_call.month = Ndate_call.month;
	date_call.year = Ndate_call.year;
}

void Base::set_tarif(double Ntarif)
{
	tarif = Ntarif;
}

void Base::set_time_begin(time Ntime_begin)
{
	time_begin.hour = Ntime_begin.hour;
	time_begin.min = Ntime_begin.min;
	time_begin.sec = Ntime_begin.sec;
}

void Base::set_time_end(time Ntime_end)
{
	time_end.hour = Ntime_end.hour;
	time_end.min = Ntime_end.min;
	time_end.sec = Ntime_end.sec;
}

class List
{
private:
	vector<Base> temp;

public:
	List();
	List(*Base);
	~List();
	void Info();
};

List::List(Base Ntemp);
{
	temp.push_back(Ntemp);
}

List::~List()
{
	temp.erase(temp.begin()+temp.size());
}

void List::Info()
{
	for(int i=0;i<temp.size();i++)
	{
		cout<<temp[i]<<"\n";
	}
}
Ругается на
vector<Base> temp;
не пойму по каким причинам.

error C2143: syntax error : missing ';' before '<'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Blad47 вне форума Ответить с цитированием
Старый 03.04.2011, 20:17   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

std::vector
p51x вне форума Ответить с цитированием
Старый 03.04.2011, 20:32   #3
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

у вас конструктор копирования не определен.
Код:
List::List(Base Ntemp);
{
	temp.push_back(Ntemp);
}
тут критическая ошибка будет

Цитата:
List(*Base);
а описание вообще другое.. и звезда не на месте
onewho вне форума Ответить с цитированием
Старый 05.04.2011, 22:35   #4
Blad47
Пользователь
 
Регистрация: 10.11.2008
Сообщений: 93
По умолчанию

Код:
void List::Info()
{
	for(int i=0;i<temp.size();i++)
	{
		//cout<<temp[i]<<"\n"; dlya takih veshei nuzno peregruzat operatiu pomestit v potok
	}
}
Подскажите, почему здесь нужно перегружать << ?
Blad47 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема в классах jec Общие вопросы C/C++ 3 30.12.2010 11:05
проблема в классах jec Общие вопросы C/C++ 4 29.12.2010 03:39
Вопрос о классах (С++) Александр Елис Помощь студентам 5 25.01.2010 20:49
Перечисления в классах (С++) Александр Елис Помощь студентам 1 22.01.2010 17:10
реализация стратегии на классах mahsus Общие вопросы C/C++ 1 28.12.2007 10:27