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

Производные классы паблик и приват - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать базу из трех сотрудников, где будут храниться их имена http://www.cyberforum.ru/cpp-beginners/thread1226303.html
суть задачи: нужно создать базу из трех сотрудников, где будут храниться их имена, з.п, должности, дата приема на работу. должность должна быть в перечислении выражена, при чем пользователь должен ввести только первую букву должности, а на выходе должность должна быть написана полностью. все остальное структуры. все значения должны вводиться пользователем а потом выводиться на экран. вот что я...
C++ Допускается ли такое использование лямбды Имеется код #include <iostream> using namespace std; int main() { cout << ()->float{return 9.4;}; return 0; } http://www.cyberforum.ru/cpp-beginners/thread1226282.html
C++ Вызов шаблонного метода в зависимости от условия
#include <iostream> #include <stack> #include <queue> #include <type_traits> template<typename T> class has_front { template<typename R> struct checker {};
Печать текстового файла C++
Пытаюсь распечатать текстовый файл. Использую шаги и функции как написано в MSDN: To begin a print job, call StartDocPrinter. To begin each page, call StartPagePrinter. To write data to a page, call WritePrinter. To end each page, call EndPagePrinter. Repeat 2, 3, and 4 for as many pages as necessary. To end the print job, call EndDocPrinter.
C++ Подскажите самую лёгкую среду или блокнот с компилятором http://www.cyberforum.ru/cpp-beginners/thread1226222.html
Друзья! Довольно долго писал под линуксом (sublime + консоль). Теперь вернулся на винду и ищу среду. После блокнота и консоли все кажется тяжёлым и не нужным. Следовательно вопрос: подскажите самую лёгкую среду или блокнот с компилятором. Или подскажите как компилировать через консоль.
C++ Разобраться с рекурсивной функцией обхода бинарного дерева Люди, помогите разобраться с рекурсивной функцией обхода бинарного дерева. Бьюсь головой об стену, не могу понять как она работает. вот метод класса Tree для обхода дерева: void Tree::Print(Subscriber * Node) { if(Node != 0) { Print(Node->left); подробнее

Показать сообщение отдельно
soon
2538 / 1303 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
12.07.2014, 14:30     Производные классы паблик и приват
Цитата Сообщение от Пацан_ Посмотреть сообщение
Ведь public методы getdata(), getedu() и putdata(), putedu() должны быть недоступны для объектов классов наследников.
Нет, они доступны внутри наследника, но недоступны снаружи. Вот пример с различными наследованиями:

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
class Base
{
public:
    void public_method()
    {
 
    }
 
protected:
    void protected_method()
    {
 
    }
 
private:
    void private_method()
    {
 
    }
};
 
class PublicInheritance : public Base
{
public:
    PublicInheritance()
    {
        Base::public_method();
        Base::protected_method();
        // Base::private_method(); // private_method' is a private member of 'Base'
    }
};
 
class ProtectedInheritance : protected Base
{
public:
    ProtectedInheritance()
    {
        Base::public_method();
        Base::protected_method();
        // Base::private_method(); // private_method' is a private member of 'Base'
    }
};
 
class PrivateInheritance : private Base
{
public:
    PrivateInheritance()
    {
        Base::public_method();
        Base::protected_method();
        // Base::private_method(); // private_method' is a private member of 'Base'
    }
};
 
 
int main()
{
    Base b;
    b.public_method();
    // b.protected_method();    // 'protected_method' is a protected member of 'Base'
    // b.private_method();      // 'private_method'   is a private   member of 'Base'
 
    PublicInheritance pub;
    pub.public_method();
    // pub.protected_method();  // 'protected_method' is a protected member of 'Base'
    // pub.private_method();    // 'private_method'   is a private   member of 'Base'
 
    ProtectedInheritance prot;
    // prot.public_method();    // 'public_method'    is a protected member of 'Base', constrained by protected inheritance
    // prot.protected_method(); // 'protected_method' is a protected member of 'Base'
    // prot.private_method();   // 'private_method'   is a private   member of 'Base'
 
    PrivateInheritance priv;
    // priv.public_method();    // 'public_method'    is a private member of 'Base', constrained by private inheritance
    // priv.protected_method(); // 'protected_method' is a private member of 'Base', constrained by private inheritance
    // priv.private_method();   // 'private_method'   is a private member of 'Base'
 
    return 0;
}
А здесь есть таблички по уровням доступа при различных вариантах наследования
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru