Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
KostyaKulakov
Заблокирован
#1

конструктор - C++

19.09.2012, 10:54. Просмотров 308. Ответов 3
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
enum Color {Null, WHITE, BLACK};
enum Type  {Null, King, Peshka};
 
class Piece
{
public:
        Color color;
        Type  type;
 
Piece(Color color_, Type type_) : 
      color(color_), type(type_)    {}
 
};
есть класс Piece нужно сделать так чтобы если его не проинцилизовали то его параметры были Null те color = (Color)Null и type = (Type)Null
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2012, 10:54     конструктор
Посмотрите здесь:

Конструктор C++
Конструктор C++
Конструктор C++
C++ this и конструктор
Конструктор C++
C++ Конструктор
Конструктор C++ и new C++
C++ Конструктор
C++ Конструктор
Конструктор C++
C++ Конструктор
Конструктор C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6547 / 3967 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
19.09.2012, 11:08     конструктор #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
namespace Color {
   enum type {Null, WHITE, BLACK};
}
 
namespace Type {
   enum type {Null, King, Peshka};
}
 
class Piece {
public:
   Color::type color;
   Type::type  type;
 
   Piece(Color::type color_ = Color::Null, Type::type type_ = Type::Null) 
   : color(color_)
   , type(type_)    
   {
   }
};
John Prick
757 / 690 / 124
Регистрация: 27.07.2012
Сообщений: 1,975
Завершенные тесты: 3
19.09.2012, 11:09     конструктор #3
В вашем случае они не могут быть не проинициализированы, так как у класса есть только один конструктор с параметрами, который инициализирует поля color и type.
Если вам нужен конструктор по умолчанию, добавьте:
C++
1
Piece(void) : color(Null), type(Null) {}
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
19.09.2012, 11:16     конструктор #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
enum class Color { EMPTY, WHITE, BLACK };
enum class Type { EMPTY, KING, PAWN };
 
class Piece
{
public:
   Piece():cl(Color::EMPTY), type(Type::EMPTY) { }
   Piece(Color c, Type t):cl(c), type(t) { }
private:
   Color cl;
   Type type;
};
Yandex
Объявления
19.09.2012, 11:16     конструктор
Ответ Создать тему
Опции темы

Текущее время: 17:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru