1. Акция на весь декабрь! Получай оплату х2 за уникальные статьи, объемом от 200 слов, если в заголовке темы и теле статьи присутствует слово Python
    Скрыть объявление

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

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

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

    Ivan716 Гость

    Здравствуйте.

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

    Rififi Гость

    Ivan716

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

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

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

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

    например:

    Код (C++):
    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 Гость

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

    RiCrO Гость

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

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

    a0z Well-Known Member

    Регистрация:
    15 мар 2011
    Сообщения:
    109
    Симпатии:
    0
    "Закрытые" они закрыты для всех, кроме самого класса. Так что ими можно пользоваться из открытых методов того-же класса.
     
Загрузка...
Похожие Темы - закрытые методы класса
  1. kuzduk
    Ответов:
    0
    Просмотров:
    338
  2. Катюша1603
    Ответов:
    5
    Просмотров:
    1.491
  3. gardlok
    Ответов:
    0
    Просмотров:
    1.364
  4. Seriy1994
    Ответов:
    1
    Просмотров:
    1.365
  5. V88
    Ответов:
    3
    Просмотров:
    3.455
Статус темы:
Закрыта.

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