🧙Конкурс сказок!
C++/C++11
(OFF) ut2k4 15 сен 2018

создание класса

Всем привет. решил сделать класс в С++.
Но так как в классах разбераюсь плохо у меня возникли некоторые вопросы.

вопрос первый:

Нужно ли в базовом классе делать метод Draw() виртуальным.если во всех
наследуемых классах вызывается базовый.

вопрос второй:

Как лучше сделать потомков. вариант 1 или вариант 2

вопрос третий:

Добавить метод передвижения в базовый класс или реализовать в потомках


class Самолет
{
unsigned char CID;

protected:

float вес;
float скорость;
char модель[20];
// и прочий базовые характеристики

unsigned char *texture;

public:

Самолет(){ CID = 7; texture = 0; }
~Самолет(){ if( texture ) delete [] texture;}


void LoadTexture( const char *FileName );
virtual void Draw() = 0; // или не делать виртуальным
};

//---------------------------------------------------
// вариант 1
//---------------------------------------------------

class Истребитель : public Самолет
{
sIArsenal arsenal;
//тут добавить эксклюзивныe для класса данные

public:

void Draw();
};


class Бомбордировщик : public Самолет
{
sBArsenal arsenal;
//тут добавить эксклюзивныe для класса данные

public:

void Draw();
};


//---------------------------------------------------
// вариант 2
//---------------------------------------------------


class Военный_Самолёт: public Самолёт
{
sArsensl arsenal;
// и прочие военные характеристики

public:

void Draw();
};

class Транспортный_Самолёт: public Самолёт
{

// тут транспортые характеристики

public:

void Draw();
};

Комментарии (3)

Ээ хорошая новость ...
Я овладел техникой работы с классами буквально в совершенстве всего за неделю( прочитал кучу книг, статей, исходников).так что вопросы что я тут задавал меня уже не интересуют.( глупо конечно с моей стороны было тут что-то спрашивать).
В совершенстве? За неделю? Это из серии С++ за 21 день?)))
Показать комментарий
Скрыть комментарий
Для добавления комментариев необходимо авторизоваться
C++/C++11
Мир Теней
Народ Тьмы, мастерски владеющий магией или народ...
Тема: Светлая | Тёмная
Версия: Mobile | Lite | Touch | Доступно в Google Play