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

Обращение к приватным полям классов - C++

Восстановить пароль Регистрация
 
Slavytuch
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 76
07.05.2014, 19:50     Обращение к приватным полям классов #1
Необходимо создать класс, в котором есть указатель на другой класс и все функции, которые с ним нужно выполнить.В другом классе все основные поля класса. Все поля классов private. Как к ним обращаться?
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
class sotrydnik
{
private:
    string surname;
    string name;
    int number;
    /*ifstream &operator >>(ifstream & inp)
    {
        getline(inp, surname);
        getline(inp, name);
        inp >> number;
        inp.get();
    }
    ofstream &operator <<(ofstream & out)
    {
        cout << setw(10) << surname << setw(10) << name << setw(10) << number << endl;
    }*/
};
 
class member
{
    sotrydnik *comrade;
    int number_of_workers;
public:
    void set_number_of_workers(int new_number_of_workers)
    {
        number_of_workers = new_number_of_workers;
    }
    int dlinna(int n)
    {
        int i, num = comrade[n].number;
        for (i = 0; num > 1; ++i)
            num /= 10;
        return i;
    }
    bool check_name(string newname, int n)
    {
        if (comrade[n].name == newname)return true;
        else return false;
    }
    void same_name(string name, ofstream &out, int n)
    {
        out << "Сотрудники с именем " << name << ": " << endl;
        for (int i = 0; i < n; ++i)
        if (comrade[i].check_name(name))
        {
            out << comrade[i].get_surname() << "\b" << endl;
            cout << comrade[i].get_surname() << "\b,";
        }
        out << "\b.";
        cout << "\b.";
    }
    void shortest_num(int n)
    {
        int num = comrade[0].dlinna();
        int rez = 0;
        int i;
        for (i = 0; i<n; ++i)
        if (num > comrade[i].dlinna()){
            num = comrade[i].dlinna();
            rez = i;
        }
        cout << comrade[rez].get_number();
    }
 
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2014, 19:50     Обращение к приватным полям классов
Посмотрите здесь:

Обращение с шаблонами классов. C++
Научиться работать с векторными данными языка «С»: структурами и объединениями. Изучить правила объявления структур и объединений, обращение к их полям, построение вложенных векторных типов данных. C++
Обращение двух классов друг к другу C++
C++ Наследование классов и обращение к Private/Static
C++ классы, обращение к полям
C++ Доступ к приватным полям, используя множественное наследование
C++ Callback std::function + доступ к приватным полям класса методам которые не есть их полями
Обращение к полям и методам класса через объект C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Myptuk
1 / 1 / 0
Регистрация: 01.05.2013
Сообщений: 43
07.05.2014, 21:46     Обращение к приватным полям классов #2
либо
C++
1
class member::sotrydnik
(подкласс сотрудника)

либо пишем метод передачи переменной:
к примеру если класс содержит переменную n, то создаем метод какой-нибудь
C++
1
2
3
4
int GetN()
{
return n;
}
в классе где вам нужна переменная n, подключаем класс её содержащий, создаем его. допустим а. и пишем а.GetN() вместо переменной n )))
Yandex
Объявления
07.05.2014, 21:46     Обращение к приватным полям классов
Ответ Создать тему
Опции темы

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