Уроки C++
Наследование в С++Ну а теперь наследование. Классы в объектно- ориентированных программах используются для моделирования концепций реального и программного мира. Концепции предметной области находятся в самых различных взаимоотношениях. И как раз одно из таких взаимоотношений - “ наследования” == “родитель – потомок”. Когда нас учили, то приводили такой пример – есть квадрат, треугольник и трапеция. Всё это многоугольники, поэтому нужно создать класс “Polygon”, которые будет содержать элементы, являющиеся общими и для класса “квадрат” и “треугольник ” и “трапеция”, последние три класса объявить наследниками базового класса (“родителя”) “Polygon”. Следует запомнить, что знак “::” нужен для вызова базового метода класса. Ну а теперь скомпилируем простой и очень наглядный пример с применением наследования:
#include "stdafx.h" #include "iostream" #include "clocale" using namespce std; class One { public: void dialog() {cout <<"Привет\n";} }; class Two : public One { public: void dialog() { One::dialog();   // вызов метода базового класса cout << "Ты кто такой?!\n"; } }; class Three : public Two { public: void dialog() { Two::dialog();   // вызов метода базового класса cout << "Давай до свидания!" << endl << endl; } }; int main() { setlocale(LC_ALL, "Russian"); Three d; d.dialog(); system("PAUSE"); return 0; }
Результат:
