1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

закрытые методы класса, зачем ?

Тема в разделе "С и С++", создана пользователем Ivan716, 1 фев 2011.

Статус темы:
Закрыта.
  1. Ivan716

    Ivan716 Гость

    Репутация:
    0
    Здравствуйте.

    при создании нового класса, необходимо указать переменные и методы этого класса,
    причем по умолчанию и переменные, и методы создаются закрытыми. Зачем нужны
    закрытые переменные понятно, а вот для чего нужны закрытые методы ?
    я же их использовать не смогу или я что-то упустил ?
     
  2. Rififi

    Rififi Гость

    Репутация:
    0
    Ivan716

    при создании нового класса, необходимо указать переменные и методы этого класса

    ничего подобного. класс можно создать вообще без всего: class A {};

    а вот для чего нужны закрытые методы ?

    для реализации внутренней логики класса

    например:

    Код:
    class Party
    {
    public:
    void Invite(const std::string& guest)
    {
    CheckName(guest);
    }
    
    protected:
    void CheckName(const std::string guest) const
    {
    if (guest != "Петя" || guest != "Маша")
    throw std::runtime_error("А ты хто?");
    }
    };
    я же их использовать не смогу или я что-то упустил ?

    если они объявлены в protected-секции - можешь использовать в производных классах.
     
  3. Ivan716

    Ivan716 Гость

    Репутация:
    0
    если я правильно понял Ваш пример, то
    Вы создали два метода, открытый и закрытый.
    причем закрытый метод вызывается из открытого ?
     
  4. RiCrO

    RiCrO Гость

    Репутация:
    0
    Он создал не закрытый, а так сказать "защищённый". Важно различать private и protected. Первый абсолютно "прикрывает" доступ к методам и данным класса где он объявлен таковым. Второй же - даёт доступ другим классам, которые являются производными от него.

    Короче, всё зависит от того, хочешь ли ты скрывать данные или нет. Учти, что private лучше делать для данных, а не для методов.
     
  5. a0z

    a0z Well-Known Member

    Репутация:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    108
    Симпатии:
    0
    "Закрытые" они закрыты для всех, кроме самого класса. Так что ими можно пользоваться из открытых методов того-же класса.
     
Загрузка...
Похожие Темы - закрытые методы класса
  1. Twix
    Ответов:
    9
    Просмотров:
    1.056
  2. Underwood
    Ответов:
    8
    Просмотров:
    638
  3. ghost
    Ответов:
    5
    Просмотров:
    939
  4. Sniff
    Ответов:
    25
    Просмотров:
    2.305
  5. ~~DarkNode~~
    Ответов:
    18
    Просмотров:
    2.099
Статус темы:
Закрыта.

Поделиться этой страницей