Форум программистов, компьютерный форум, киберфорум
Наши страницы

protected или не protected : ) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дан Двухмерный массив.Определить: http://www.cyberforum.ru/cpp-beginners/thread325412.html
1) В каком столбце массива сумма элементов меньше: в первом или в последнем; 2) В какой строке массива сумма элементов больше: во второй или в третьей?
C++ Ошибка в конструкторе Написал задачу, но она не работает. Условие: Разработать класс Элементарная частица с элементами Название, Группа, Заряд, Масса покоя. Примеры значений переменной элементарная частица: Нейтрон Н... http://www.cyberforum.ru/cpp-beginners/thread325384.html
C++ Перевод символа в Юникод
Подскажите пожалуйста как закодировать например вот такую строку привет что бы она стала такой? %D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82 Википедии увидел такой алгоритм: 1)Переводим символ в...
C++ что то не так с компилятором?
есть класс, который переписан с книги Лафоре Р. #include <cstdlib> #include <iostream> #include <conio.h> class time { private: int hrs, mins, secs;
C++ CreateFileA http://www.cyberforum.ru/cpp-beginners/thread325373.html
как записать путь.(нужно именно путь, а то так создает в папке приложения) HANDLE hfile1 = CreateFile("E:\res.txt", GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, 0, NULL); по...
C++ Функции и модули двумерной матрицы Доброго всем дня. Дорогие пользователи форумом, пожалуйста помогите,завтра сдавать зачет по С++ а у меня 2 лабы еще не готовы. Вот задание: В каждой строке найти максимум среди четных элементов, а в... подробнее

Показать сообщение отдельно
Saiberg
19 / 19 / 1
Регистрация: 23.09.2010
Сообщений: 193

protected или не protected : ) - C++

24.06.2011, 13:51. Просмотров 1079. Ответов 14
Метки (Все метки)

собстно не могу решить как поступить.

есть абстрактный класс окошка, являющийся базовым для всех окошек.

есть 3 варианта организации/реализации иерархии классов(на примере хранения размера окошка).

1) методы чисто виртуальные. каждый класс их реализовывает сам.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class IWindow 
{
public:
  virtual void setSize() = 0;
};
 
class SomeWindow : public IWindow 
{
public:
  virtual void setSize(int _size) { size = _size; };
 
private:
  int size;
};
2) методы виртуальные с базовой реализацией. методы юзают протектед поля.

C++
1
2
3
4
5
6
7
8
class IWindow 
{
public:
  virtual void setSize(int _size) { size = _size; };
 
protected:
  int size;
};
3) поля приватные. методы "обычные"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class IWindow 
{
public:
   void setSize(int _size) { size = _size; };
   int  getSize() { return size; }
private:
  int size;
};
 
class SomeWindow : public IWindow 
{
 
};
3 вариант мне кажется будет самый правильный. но все же чет я сомневаюсь во всем этом % )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru