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

Инкапсуляция. классы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Необычная ошибка в классе http://www.cyberforum.ru/cpp-beginners/thread989612.html
class cPolygon { public: cPolygon() : head_(0) {}; void add_dott(POINT); void Draw(TForm1*); int GetDottNum(void) ...
C++ код нужно сделать через указатель ! # include <iostream.h> # include <conio.h> # include <stdlib.h> const int n=3, m=3; int main() {int a; int i, j, maxzn; cout<<"vvedite matricu \n"; for (i=0; i<n; i++) for (j=0; j<m; j++) http://www.cyberforum.ru/cpp-beginners/thread989609.html
C++ Класс Point и Rectangle
*.h : class Point { public: Point(int m_x1, int m_y1); ~Point(); void InputPoint(int m_x1, int m_y1); private: int m_x;
C++ Рекурсивные функции
Плиз, помогите. Ошибку выдает, а исправить как - непонятно... Пока не очень понимаю рекурсивные функции... Составить программу, используя рекурсивную функцию. Массив S содержит 10 символов. Дана...
C++ как переделать задачу что б были указатели ? http://www.cyberforum.ru/cpp-beginners/thread989583.html
#include <iostream.h> #include <conio.h> #include <math.h> int main () { int a , d, b; cout<<"vvedite elementu matricu"<<endl; for (int i=0; i<6; i++) for (int j=0; j<6; j++)...
C++ Error with multimap Вот код. struct sravn{ bool operator()(const char* s1, const char* s2) const{ return strcmp(s1, s2) < 0; } }; typedef multimap<char*, Student, sravn> MapType; void del_stud(MapType... подробнее

Показать сообщение отдельно
vovkasm
2 / 2 / 0
Регистрация: 21.09.2013
Сообщений: 76
27.10.2013, 19:09  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
Ну вобще все уже написано)
Если зайти с другой стороны, то можно сказать, что public-наследование означает связь типа "является". Т.е. если класс B является наследником класса A, то "A является B". При этом наследуется интерфейс и реализация.
class Rectangle : public Shape - прямоугольник является фигурой.

Private наследование выражает отношение "содержит" или "реализовано посредством". При этом наследуется реализация, но не интерфейс.

Подробно описано у Майерса (Эффективное использование С++: 55 верных советов... ), Глава 6, правила 32, 34, 38, 39.
Вооооо, Спасибо, вот это нормааально. public наследует интерфейс и реализацию, а private только реализация.
protected тоже только реализацию? или хитрость какая то?)

Добавлено через 54 секунды
Цитата Сообщение от ct0r Посмотреть сообщение
Ну я бы не использовал слово "является". Так можно и квадрат от прямоугольника отнаследовать, потому что квадрат является прямоугольником, хотя это явное нарушение принципа подстановки Лисков.
по Майерсу именно "Является" открой 32е правило))
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru