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

Доступ к закрытым членам базового класса - C++

Восстановить пароль Регистрация
 
 
zybrzybr
 Аватар для zybrzybr
17 / 16 / 0
Регистрация: 29.09.2010
Сообщений: 156
13.07.2013, 01:07     Доступ к закрытым членам базового класса #1
помогите понять что я не так сделал ?

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
#include <iostream>
 
using namespace std;
class A
{
    int PrA1;
public:
    int PuA1;
    int get_PrA ()
    {
        return PrA1;
    }
    A() : PrA1(1)
    {
        PuA1 = 11;
    }
};
 
class B: private A {
    int PrB1;
public:
    int PuB1;
    int A:: PuA1;
    int get_PrA1()
    {
        return А::get_PrA();
    }
    B() : PrB1(3)
    {
        PuB1 = PuA1;
    }
};
 
 
int main()
{
    B Ob1;
    cout << Ob1.get_PrA1() << endl;
    cout << Ob1.PuA1 << endl;
    cout << Ob1.PuB1 << endl;
    int i;
    cin >> i;
    return 0;
}
я так понялЖ
1) создавая обьект класса В вызывается первым конструктор базового класса. в конструкторе инициализируются переменные
C++
1
PrA1(1)
PrA1 принимает 1.

2) потом методом класса В должен запустить открытый метод класса А. но печатает фигню!
что здесь не правильно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2013, 01:07     Доступ к закрытым членам базового класса
Посмотрите здесь:

C++ Перегрузка операторов и доступ к закрытым членам
C++ Доступ к закрытым элементам класса - Вопрос
C++ Доступ к членам класса класса
доступ к private членам класса C++
Доступ к закрытым методом класса! C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2013, 02:55     Доступ к закрытым членам базового класса
Еще ссылки по теме:

Дружественная функция-оператор, доступ к закрытым полям класса C++
C++ Как получить доступ к членам класса из функций
Доступ к членам класса C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
zybrzybr
 Аватар для zybrzybr
17 / 16 / 0
Регистрация: 29.09.2010
Сообщений: 156
13.07.2013, 02:55  [ТС]     Доступ к закрытым членам базового класса #21
вы знаите, я просто не так понял, извините за это мучения))))
вот пример придумал который сразу все поставил на свои места:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
class A
{
public:
    int PuA1;
    A() : PuA1(2) {;}
};
 
class B: private A
{
public:
    int get_pua1() {return PuA1;}
};
 
int main()
{
    B Ob1;
    cout << Ob1.get_pua1()<<endl;
    cin.get();
    return 0;
}
я понял, что
C++
1
class B: private A
просто все наследуемые свойства (данные и методы) переносит в раздел приват.
т.е. сам класс наследник имеет доступ ко всему базовому классу (public и protected), только как к приватным данным...

спасибо большое за помощь!)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yandex
Объявления
13.07.2013, 02:55     Доступ к закрытым членам базового класса
Ответ Создать тему
Опции темы

Текущее время: 17:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru