2013-06-08 3 views
-1

Я только что увидел абстрактный класс, и у него есть несколько частных функций ... Мне просто интересно, в чем смысл частных функций для абстрактного класса?абстрактный класс с частными функциями

Я предполагаю, что у детей их не будет. Тогда в чем смысл?

ответ

0

Как указал juanchopanza, могут быть веские причины иметь частные виртуальные машины. Но у абстрактного класса может быть причина иметь не виртуальные личные данные.

Возможно, у вас создается впечатление, что абстрактный класс не имеет элементов данных и только чистые виртуальные функции? Это не тот случай. Класс может иметь много членов данных и не виртуальных функций-членов и все еще быть абстрактным, если он имеет хотя бы одну чистую виртуальную функцию-член.

class abstract_base { 
    public: 
    //functionality that derived classes must implement: 
    virtual int func1() = 0; 

    //functionality that derived classes can't override: 
    int get_count() const { return count_; } 

    private: 
    int count_; 
    }; 

Возможно, это глупый пример, но вы получаете идею.

Смежные вопросы