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

Какой доступ имеют методы и объекты классов между собой - C++

Восстановить пароль Регистрация
 
Forumhelp
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
15.01.2014, 10:54     Какой доступ имеют методы и объекты классов между собой #1
Например у нас есть диаграмма классов. Объясните какой доступ имеют методы и объекты классов между собой.
Как методы класса G могут получить доступ к методам класса A. Как объекты класса G могут получить доступ к объектам класса A.
Миниатюры
Какой доступ имеют методы и объекты классов между собой  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ShadowFirst
54 / 47 / 1
Регистрация: 31.10.2013
Сообщений: 161
15.01.2014, 11:25     Какой доступ имеют методы и объекты классов между собой #2
Через параметры передаваемые в функциях. Вот примерная логика работы. Из класса А вызываем функцию класса С там в свою очередь класса D а там класса G, параметры передаваемые в функции будут соответствовать свойствам класса А.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
15.01.2014, 11:28     Какой доступ имеют методы и объекты классов между собой #3
Возможно с помощью сеттеров и геттеров.
Функции могут возвращать значения переменных, которые есть приватными.
Forumhelp
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
15.01.2014, 11:28  [ТС]     Какой доступ имеют методы и объекты классов между собой #4
Цитата Сообщение от ShadowFirst Посмотреть сообщение
Через параметры передаваемые в функциях. Вот примерная логика работы. Из класса А вызываем функцию класса С там в свою очередь класса D а там класса G, параметры передаваемые в функции будут соответствовать свойствам класса А.
а спецификатор доступа private не помешает получить доступ к классам?
ShadowFirst
54 / 47 / 1
Регистрация: 31.10.2013
Сообщений: 161
15.01.2014, 11:38     Какой доступ имеют методы и объекты классов между собой #5
Нет, если вы передаете это как параметр в функции. Но смотрите если вам не нужно чтобы изменялось значение свойства класса А в классе G, то можно передавать копии этих параметров. А если хотите что бы изменялось можно передавать ссылки на эти свойства. Но можно передать копию свойств и вернуть результат который присвоится этому же свойству, то есть:
C++
1
A = doSomeThing(A);
То есть вы свойство отсылаете как параметр и результат к этому же свойству присваиваете
xoror
 Аватар для xoror
29 / 31 / 2
Регистрация: 15.12.2013
Сообщений: 147
15.01.2014, 11:48     Какой доступ имеют методы и объекты классов между собой #6
Цитата Сообщение от Forumhelp Посмотреть сообщение
Как методы класса G могут получить доступ к методам класса A.
C++
1
A::Func();
Добавлено через 1 минуту
Классе G содержит в себе переменные и методы класса A.

Добавлено через 1 минуту
Другими словами. Все, что есть в А, то есть и в G

Добавлено через 40 секунд
Потому что G - это наследник A
Forumhelp
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
15.01.2014, 11:59  [ТС]     Какой доступ имеют методы и объекты классов между собой #7
как я могу получить доступ от D к G, если там стоит private?
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
15.01.2014, 12:01     Какой доступ имеют методы и объекты классов между собой #8
Цитата Сообщение от Forumhelp Посмотреть сообщение
как я могу получить доступ от D к G, если там стоит private?
С помощью функций. Вы сможете получить доступ только к значениям свойств. А их получить функцией.
xoror
 Аватар для xoror
29 / 31 / 2
Регистрация: 15.12.2013
Сообщений: 147
15.01.2014, 12:06     Какой доступ имеют методы и объекты классов между собой #9
Цитата Сообщение от Forumhelp Посмотреть сообщение
как я могу получить доступ от D к G, если там стоит private?
Forumhelp, что означает private?
Forumhelp
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
15.01.2014, 12:31  [ТС]     Какой доступ имеют методы и объекты классов между собой #10
Цитата Сообщение от xoror Посмотреть сообщение
Forumhelp, что означает private?
Что базовый класс наследуется со спецификатором доступа private (данные которые были в базовом классе publiс и protected станут private в наследнике)
если я все правильно понял

Добавлено через 49 секунд
Цитата Сообщение от ShadowFirst Посмотреть сообщение
Нет, если вы передаете это как параметр в функции. Но смотрите если вам не нужно чтобы изменялось значение свойства класса А в классе G, то можно передавать копии этих параметров. А если хотите что бы изменялось можно передавать ссылки на эти свойства. Но можно передать копию свойств и вернуть результат который присвоится этому же свойству, то есть:
C++
1
A = doSomeThing(A);
То есть вы свойство отсылаете как параметр и результат к этому же свойству присваиваете
До конца не понял. Объясните логику. Совсем туплю:
Методы класса С имеют доступ к методам класса А( к тем методам которые находятся в public или protected).
В классе С методы, которые которые наследовались от класса А, в станут publiс и protected.
В Классе D методы которые были в С publiс и protected, станут protected.
А класс G может иметь доступ к D ??
xoror
 Аватар для xoror
29 / 31 / 2
Регистрация: 15.12.2013
Сообщений: 147
15.01.2014, 12:41     Какой доступ имеют методы и объекты классов между собой #11
Forumhelp, все, что находится после private, доступно только этому классу. больше никто туда не может зайти туда

Добавлено через 6 минут
Forumhelp, что такое наследование? готов поспоритьь что ты этого не знаешь
Forumhelp
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
15.01.2014, 12:45  [ТС]     Какой доступ имеют методы и объекты классов между собой #12
Когда производный класс наследуеет поля и методы базового класса
xoror
 Аватар для xoror
29 / 31 / 2
Регистрация: 15.12.2013
Сообщений: 147
15.01.2014, 12:52     Какой доступ имеют методы и объекты классов между собой #13
Forumhelp, Если в базовом классе поо=ля или методы имеют private то никто не может иметь к ниа доступ!!

Добавлено через 19 секунд
методы private

Добавлено через 23 секунды


Добавлено через 23 секунды
gjxbnfqnt

Добавлено через 3 минуты
Forumhelp, всё, что находится в классе A. Тоже самое находится и в классе G
Потому что клаасс G наследник
Forumhelp
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
15.01.2014, 12:57  [ТС]     Какой доступ имеют методы и объекты классов между собой #14
это понятно)) Вот и вопрос, если один класс B (например) наследовал методы другого класса А и они стали private в этом классе, то как класс С может наследовать методы класса А, если они в B стали private. И везде наследование со спец.дост. private. Простите, просто сложно доходит)
ShadowFirst
54 / 47 / 1
Регистрация: 31.10.2013
Сообщений: 161
15.01.2014, 15:28     Какой доступ имеют методы и объекты классов между собой #15
Объясню, если ответите на уточняющий вопрос, вы подразумевали своей диаграммой классов наследование или создание экземпляра другого класса в классе?

Добавлено через 3 минуты
Хотя из ответов я так понял речь идет все таки о наследовании, а я вам писал случай если в классе создается объект другого класса.
Если говорить о наследовании, то было уже отвечено что к private полям доступа нет у наследников, по этому их обычно делают protected.
Forumhelp
1 / 1 / 0
Регистрация: 06.06.2013
Сообщений: 130
15.01.2014, 16:03  [ТС]     Какой доступ имеют методы и объекты классов между собой #16
Цитата Сообщение от ShadowFirst Посмотреть сообщение
Объясню, если ответите на уточняющий вопрос, вы подразумевали своей диаграммой классов наследование или создание экземпляра другого класса в классе?

Добавлено через 3 минуты
Хотя из ответов я так понял речь идет все таки о наследовании, а я вам писал случай если в классе создается объект другого класса.
Если говорить о наследовании, то было уже отвечено что к private полям доступа нет у наследников, по этому их обычно делают protected.
Да, подразумевалось наследование.
То есть, если стоит private, то мы уже никаким образом не можем получить, доступ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2014, 19:32     Какой доступ имеют методы и объекты классов между собой
Еще ссылки по теме:

C++ Где создавать объекты классов?
Константные методы и объекты класса C++
Указатель на объекты и члены классов C++

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

Или воспользуйтесь поиском по форуму:
ShadowFirst
54 / 47 / 1
Регистрация: 31.10.2013
Сообщений: 161
15.01.2014, 19:32     Какой доступ имеют методы и объекты классов между собой #17
Прямым обращением к свойству нет. Его тогда нужно сделать protected
Yandex
Объявления
15.01.2014, 19:32     Какой доступ имеют методы и объекты классов между собой
Ответ Создать тему
Опции темы

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