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

Полиморфизм и private методы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Структура проекта http://www.cyberforum.ru/cpp-beginners/thread939594.html
Приветствую всех! В общем интересует меня вот что: структура проектов с большим количеством файлов. Обычно у меня один класс - один хедер и один или несколько cpp. Но когда проект разрастается,...
C++ Компиляция dll на win8x64 и ошибка на winXP Компилирую длл библиотеку на Windows 8 (x64), потом пытаюсь воспользоваться на windows xp и вылеатет Точка входа в процедуру GetTickCount64 не найдена в библиотеке DLL KERNEL32.dll. http://www.cyberforum.ru/cpp-beginners/thread939593.html
C++ Альтернатива if (.) {.} (тернарный оператор)
блин запамятовал как это делается пишут вместо стандартной формы что то типа y < x : x = m напомните плиз как это называется, какие там правила
Проверка валидности в libxml++ C++
Подскажите, как с помощью этой библиотеки можно проверить валидность документа на соответствие XML. Вариант через исключение при создании не годится, т.к. в этом случае libxml++ выводит в поток...
C++ ошибка компиляции Code::Blocks 12.11 http://www.cyberforum.ru/cpp-beginners/thread939528.html
Доброго времени суток. Установил Code::Blocks 12.11. до этого пользовалься десятой версией. проблема в том, что компиляция не проходит, если рядом с срр-файлом лежит ехе, скомпилиованный до этого....
C++ реализация класса в .h файле хорошо или плохо? все знакомые мне ide разделяют класс на два файла: .h с описанием и .cpp с кодом, но, например, в boost .hpp файлы почти всегда содержат и реализацию классов, т.е. так тоже можно. так в чем тогда... подробнее

Показать сообщение отдельно
gray_fox
What a waste!
1520 / 1223 / 70
Регистрация: 21.04.2012
Сообщений: 2,560
Завершенные тесты: 3
18.08.2013, 11:16
Цитата Сообщение от Care Посмотреть сообщение
Да но при этом нету отношения "является" разве это можно назвать наследованием??
Ну, в "классическом понимании", да, это не наследование. Т.е. отношение не "является", а "реализованно посредством".

Добавлено через 4 минуты
В качестве примера использования: мне вот всегда казалось немного странным, что у адапторов контейнеров нет возможности получить доступ к контейнеру. С помощию закрытого\защищённого наследования это легко решается, например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <stack>
 
 
template<typename Type, typename Container = std::deque<Type>>
class stack : protected std::stack<Type, Container> {
 
   using base_type = std::stack<Type, Container>;
 
public:
   using container_type    = typename base_type::container_type;
   using value_type        = typename base_type::value_type;
   using size_type         = typename base_type::size_type;
   using reference         = typename base_type::reference;
   using const_reference   = typename base_type::const_reference;
 
   
   using base_type::top;
   
   using base_type::empty;
   using base_type::size;
 
   using base_type::push;
   using base_type::emplace;
   using base_type::pop;
   using base_type::swap;
 
   using base_type::base_type;
 
   container_type & get_container() noexcept {
      return this->c;
   }
   constexpr container_type const& get_container() const noexcept {
      return this->c;
   }
};
 
 
int main() {
   stack<int> values;
   
   for (int i = 0; i != 10; ++i) {
      values.push(i);
   }
 
   for (auto value : values.get_container()) {
      std::cout << value << std::endl;
   }
}
http://ideone.com/Jhps8o
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru