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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2010, 18:52   #1
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию Проблема с классом

Есть такой код:
Код:
class Team
{
 public:
	int    Count;
	int    type;
	Player Players[100];
	Coach  Coaches[2];
	float  famous;
	Team(int number,int typ,float fam)
	{
	  cout<<"Constructor of Team";
	  Count  = number;
	  type   = typ;
	  famous = fam;
	}
	~Team()
	{
	  cout<<"Destructor of Team";
	  Count  = 0;
	  type   = 0;
	  famous = 0;
	}
};
Вроде бы всё правильно, однако выдаёт в строке
Код:
Team(int number,int typ,float fam)
Ошибку типа: "Сannot find default constructor to initialize member".В чём дело?


Ага,проблему нашёл, если убрать:
Код:
Player Players[100];
	Coach  Coaches[2];
То всё будет нормально(Примечание. Классы Player и Coach находятся в той же программе, просто я не стал их сюда копировать)
Однако, эти массивы объектов необходимы. Может, можно как-то исправить эту проблему?

Последний раз редактировалось _-Re@l-_; 23.09.2010 в 19:02.
_-Re@l-_ вне форума Ответить с цитированием
Старый 23.09.2010, 19:04   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

у тебя в классах Player и Coach не объявлены конструкторы по умолчанию, либо объяви эти массивы как указатели либо добавь конструкторы с необходимой инициализацией
counter вне форума Ответить с цитированием
Старый 23.09.2010, 19:07   #3
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Ну, вот весь код:
Код:
#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>

class Player
{
 public:
	int Age;
	int Nation;
	float weight;
	float height;
	float perfom;
	Player(int Old,int Nat,float wei,float hei,float perf)
	{
	  cout<<"Constructor of Player\n";
	  Age = Old;
	  Nation = Nat;
	  height = hei;
	  weight = wei;
	  perfom = perf;
	}
	~Player()
	{
	  cout<<"Destructor of Player\n";
	  Age = 0;
	  Nation = 0;
	  height = 0;
	  weight = 0;
	  perfom = 0;
	}
};


class Coach
{
 public:
	int Age;
	int Nation;
	float perfom;
	Coach(int Old,int Nat,float perf)
	{
	  cout<<"Constructor of Coach\n";
	  Age = Old;
	  Nation = Nat;
	  perfom = perf;
	}
	~Coach()
	{
	  cout<<"Destructor of Coach\n";
	  Age = 0;
	  Nation = 0;
	  perfom = 0;
	}
};

class Manager
{
 public:
	int Age;
	int Nation;
	float perfom;
	Manager(int Old,int Nat,float perf)
	{
	  cout<<"Constructor of Manager\n";
	  Age = Old;
	  Nation = Nat;
	  perfom = perf;
	}
	~Manager()
	{
	  cout<<"Destructor of Manager\n";
	  Age = 0;
	  Nation = 0;
	  perfom = 0;
	}
};


class Team
{
 public:
	int     Count;
	int     type;
	float   famous;
	Team()
	{
	 Count  = 100;
	 type   = 1;
	 famous = 50;
	}
	~Team()
	{
	 Count  = 0;
	 type   = 0;
	 famous = 0;
	}
};
Что нужно сделать?(Примечание. lim моих знаний С++ = 0...и причём, иногда он достигает ноль... )



Урааааа!Всё сам сделал. Тему можно закрыть.

Последний раз редактировалось _-Re@l-_; 23.09.2010 в 19:16.
_-Re@l-_ вне форума Ответить с цитированием
Старый 23.09.2010, 19:15   #4
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Код:
Player()
	{
	  cout<<"Default Constructor of Player\n";
	  Age = 0;
	  Nation = 0;
	  height = 0;
	  weight = 0;
	  perfom = 0;
	}

Coach()
	{
	  cout<<"Default Constructor of Coach\n";
	  Age = 0;
	  Nation = 0;
	  perfom = 0;
	}
или так
Код:
class Team
{
 public:
	int    Count;
	int    type;
	Player *Players;
	Coach  *Coaches; // не забудь выделить потом память под это добро
	float  famous;
	Team(int number,int typ,float fam)
	{
	  cout<<"Constructor of Team";
	  Count  = number;
	  type   = typ;
	  famous = fam;
	}
	~Team()
	{
	  cout<<"Destructor of Team";
	  Count  = 0;
	  type   = 0;
	  famous = 0;
	}
};
counter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с классом UnChanter Помощь студентам 2 14.03.2010 20:23
Работа с классом| C++ Konicy Общие вопросы C/C++ 15 21.12.2009 19:08
Программа с классом и объектами!!! Sudeki Помощь студентам 0 13.12.2009 15:20
Проблема с классом list Homer_J_Simpson Общие вопросы C/C++ 4 28.11.2009 22:03
C++ работа с классом VadEr Помощь студентам 2 17.05.2009 12:33