Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/19: Рейтинг темы: голосов - 19, средняя оценка - 5.00
45 / 45 / 1
Регистрация: 23.05.2009
Сообщений: 92
1

Закрытые поля структуры.

03.08.2009, 09:52. Просмотров 3493. Ответов 21
Метки нет (Все метки)

Существуют ли закрытые поля структуры?
Если да, то как их описывать?

Добавлено через 39 минут 26 секунд
Ну что никто не может ответить на такой легкий вопрос?
1
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.08.2009, 09:52
Ответы с готовыми решениями:

Закрытые поля класса
Здравствуйте.Помогите разобраться с кодом. Определен следующий класс: struct Cls { Cls(char...

закрытые поля в C#
является ли это закрытым полем? public static readonly string ip; если нет то как оно выглядит ?

Нужны ли закрытые поля в приведенном классе
Привет всем) Нужны ли здесь закрытые поля, если да то как это сделать, если нет то почему: public...

Закрытые поля класса или аргументы метода?
Что сейчас наиболее подходит для C#5 и в каких случаях - передавать в метод аргументы или считывать...

21
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
03.08.2009, 09:53 2
Цитата Сообщение от Skirmisher Посмотреть сообщение
Если да, то как их описывать?
C++
1
2
3
4
struct S {
 private:
  int data; 
};
0
45 / 45 / 1
Регистрация: 23.05.2009
Сообщений: 92
03.08.2009, 09:58  [ТС] 3
Цитата Сообщение от zim22 Посмотреть сообщение
C++
1
2
3
4
struct S {
 private:
  int data; 
};
Тут, как репутация считается, чем больше тем создал, тем меньше репутация?
Не все этот форум меня достал я с него ухожу
1
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
03.08.2009, 10:38 4
Тут, как репутация считается, чем больше тем создал, тем меньше репутация?
Нет - не так.
Не все этот форум меня достал я с него ухожу
Уходи.
Тебе ответили на твой вопрос.
А если тебе не нравится ответ - может ты вопрос задал неправильно ?
Правила Фурма
2.4 Как можно более полно описывайте суть проблемы или вопроса, что было сделано для ее решения и какие результаты получены.
0
1662 / 1131 / 80
Регистрация: 21.08.2008
Сообщений: 4,725
Записей в блоге: 1
03.08.2009, 10:42 5
Цитата Сообщение от Skirmisher Посмотреть сообщение
Существуют ли закрытые поля структуры?
Если да, то как их описывать?
собственно в С++ класс от структуры только этим и отличается... если надо что то спрятать, используй классы, если нет смысла прятать, используй стрктуры
0
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
03.08.2009, 10:48 6
собственно в С++ класс от структуры только этим и отличается...
Не понял - чем именно отличается ?
0
1662 / 1131 / 80
Регистрация: 21.08.2008
Сообщений: 4,725
Записей в блоге: 1
03.08.2009, 10:52 7
Цитата Сообщение от odip Посмотреть сообщение
Не понял - чем именно отличается ?
класс от структуры (class vs struct) отличается тем сто у структуры все члены public, в то время как у класса программист им сам может назначить public, private, protected.
0
MCSD: APP BUILDER
8787 / 1065 / 104
Регистрация: 17.06.2006
Сообщений: 12,604
03.08.2009, 10:58 8
класс от структуры (class vs struct) отличается тем сто у структуры все члены public, в то время как у класса программист им сам может назначить public, private, protected.
А теперь - правильный ответ (:
В классе все методы и члены имеют по-умолчанию модификатор доступа private, в структуре - public. Больше различий не имеется.
1
1662 / 1131 / 80
Регистрация: 21.08.2008
Сообщений: 4,725
Записей в блоге: 1
03.08.2009, 11:02 9
Цитата Сообщение от Rififi Посмотреть сообщение
класс от структуры (class vs struct) отличается тем сто у структуры все члены public, в то время как у класса программист им сам может назначить public, private, protected.
А теперь - правильный ответ (:
В классе все методы и члены имеют по-умолчанию модификатор доступа private, в структуре - public. Больше различий не имеется.
ага.. пермудрил
0
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
03.08.2009, 11:43 10
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Rififi Посмотреть сообщение
Больше различий не имеется.
имеется. при наследовании. если явно не указывать тип наследования, то для struct он public, а для class - private
***
Skirmisher, репутация ничто - главное что в голове.
0
49 / 47 / 1
Регистрация: 03.08.2009
Сообщений: 101
03.08.2009, 12:30 11
Цитата Сообщение от zim22 Посмотреть сообщение
имеется. при наследовании. если явно не указывать тип
Кстати кто-нибудь знает, как получить доступ к закрытому полю структуры?
0
Эксперт С++
7171 / 3229 / 77
Регистрация: 17.06.2009
Сообщений: 14,166
03.08.2009, 12:51 12
Кстати кто-нибудь знает, как получить доступ к закрытому полю структуры?
Никак - компилятор не даст.
0
2807 / 1397 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
03.08.2009, 12:53 13
BitFields, в таких случаях, как правило... создается или метод ,который это поле буде изменять, или поле делают protected.
0
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
03.08.2009, 13:08 14
Цитата Сообщение от BitFields Посмотреть сообщение
Кстати кто-нибудь знает, как получить доступ к закрытому полю структуры?
считаем значение из private переменной char c
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct S {
  S() : c('T'), i(10), d(12.23) { }
private:
  char c;
  int i;
  double d;  
};
int _tmain(int argc, _TCHAR* argv[])
{
  S s;  
  char res[1] = {0};
  memcpy(res, &s, 1);
 
  return 0;
}
1
49 / 47 / 1
Регистрация: 03.08.2009
Сообщений: 101
03.08.2009, 13:12 15
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
BitFields, в таких случаях, как правило... создается или метод ,который это поле будет изменять, или поле делают protected.
Например имеется такой код:
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
struct GeeJail
{
    bool methodState(char *changeState); 
    private: 
            char *state;
};
 
int main()
{
    GeeJail Jail;
    char *text="Gaol";
    Jail.methodState(text);
}
 
bool GeeJail::methodState(char *changeState)
{
    bool tr;
    if(changeState)
    {
    GeeJail::state=changeState;
    tr=true;
    }
    else
    {
    tr=false;
    }
    return tr;
}
В принципе, так же как и с классами можно работать, различие только
В классе все методы и члены имеют по-умолчанию модификатор доступа private, в структуре - public. Больше различий не имеется.
0
2807 / 1397 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
03.08.2009, 13:15 16
Цитата Сообщение от BitFields Посмотреть сообщение
В принципе, так же как и с классами можно работать, различие только
да
0
49 / 47 / 1
Регистрация: 03.08.2009
Сообщений: 101
03.08.2009, 13:22 17
Цитата Сообщение от odip Посмотреть сообщение
Никак - компилятор не даст.
Что значит никак, метод создай.
0
2807 / 1397 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
03.08.2009, 13:27 18
BitFields, ну вообще-то мы с odip подумали что вы спрашиваете про наследование, тобишь про вот этот вариант:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class A
{
    private:
        int a;
    public:
        A(): a(0) {}
};
 
class B: public A
{
    public:
        B() {}
        void Set(int x) { a = x; } // вызовет ошибку
};
0
49 / 47 / 1
Регистрация: 03.08.2009
Сообщений: 101
03.08.2009, 13:38 19
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
BitFields, ну вообще-то мы с odip подумали что вы спрашиваете про наследование, тобишь про вот этот вариант:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class A
{
    private:
        int a;
    public:
        A(): a(0) {}
};
 
class B: public A
{
    public:
        B() {}
        void Set(int x) { a = x; } // вызовет ошибку
};
Вроде мы тут о структурах говорим! Лучше бы тогда пример про наследованием структур.
0
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
03.08.2009, 13:41 20
Цитата Сообщение от BitFields Посмотреть сообщение
Вроде мы тут о структурах говорим! Лучше бы тогда пример про наследованием структур.
замените слово class на слово struct. и пример готов.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.08.2009, 13:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Использование свойств для чтения и записи данных в закрытые поля класса
Добрый день ! Как я понял свойства используют для чтения и записи данных в закрытые поля класса...

Создайте класс Конус, определите в нем закрытые поля Радиус, Высота, Образующая, свойства для этих полей
Создайте класс Конус, определите в нем закрытые поля Радиус, Высота, Образующая, свойства для этих...

Описать класс "товар", содержащий закрытые поля
Описать класс «товар», содержащий следующие закрытые поля: • название товара; • название...

Поля структуры в индексаторе
Подскажите как сделать красиво ) В структуре поля одного типа. Хотелось бы иметь возможность...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.