#include using namespace std; class C0 // базовий клас { protected: int v; public: C0() {v = 0;} C0(int input) {v = input;} void show_v() { cout << v << endl; } }; class C1 : public C0 // похідний клас { public: C1(): C0 () {} // конструктор класу C1 викликає конструктор класу C0 C1(int S): C0 (S) {} // inputS передано в конструктор класу C0 з параметром void vSqr () // піднесення v до квадрату { v *= v; } }; int main() { setlocale(LC_ALL, "ukr"); C0 F_object(3); // об'єкт базового класу cout << "F: v = "; F_object.show_v(); C1 S_object(4); // об'єкт похідного класу cout << "S: v = "; S_object.show_v(); // виклик методу базового класу S_object.vSqr(); // піднесення v до квадрату cout << "S: v = "; S_object.show_v(); // F_object.vSqr();// при знятті коментаря буде помилка компіляції, // бо базовий клас не має доступу до методів похідного класу cout << endl; return 0; }