+ Ответить в теме
Показано с 1 по 4 из 4

Тема: Наследование

  1. #1
    lolopolosko is on a distinguished road
    Регистрация
    21.11.2009
    Возраст
    63
    Сообщений
    1
    Вес репутации
    0

    Question Наследование

    Привет!

    Есть у меня одна задачка из лабораторной работы. Дело в том что на лекцие я не был по этой теме(Наследование), и потому прошу вашей помощи.

    Условия задачи:

    Создать класс ТОЧКА ,которая имеет координаты .Класс ЕЛИПС и КРУГ. Определить иерархию типов. Определить функцию вывода на экран, площу елипса и круга, конструктор, деструктор!

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #2
    developer Airhand is on a distinguished road Аватар для Airhand
    Регистрация
    06.10.2005
    Адрес
    Dnepropetrovsk
    Возраст
    38
    Сообщений
    234
    Вес репутации
    13

    По умолчанию Re: Наследование

    В общем как-то так. Но набирал в инет-редакторе, так, что может не компилиться.
    Код cpp:
    1. class Point
    2. {
    3. public:
    4.     Point(){};
    5.     ~Point(){};
    6. private:
    7.     double x;
    8.     double y;
    9. };
    10. class Circle: public Point
    11. {
    12. ...
    13. }
    Оптимизация по скорости:
    #define while if
    Оптимизация по размеру:
    #define struct union

  4. #3
    developer Newbie is on a distinguished road
    Регистрация
    06.09.2009
    Сообщений
    142
    Вес репутации
    9

    По умолчанию Re: Наследование

    Цитата Сообщение от Airhand Посмотреть сообщение
    В общем как-то так. Но набирал в инет-редакторе, так, что может не компилиться.
    Код cpp:
    1. class Point
    2. {
    3. public:
    4.     Point(){};
    5.     ~Point(){};
    6. private:
    7.     double x;
    8.     double y;
    9. };
    10. class Circle: public Point
    11. {
    12. ...
    13. }
    1. м.б. лучше protected а не приват
    2. тоже пригодится.
    Код cpp:
    1. class Point
    2. {
    3. ...
    4. virtual void Draw()
    5. {
    6. }
    7. }
    8. class Circle: public Point
    9. {
    10. virtual void Draw()
    11. {
    12. }
    13. }
    14.  
    15. class Ellipse: public Circle
    16. {
    17. virtual void Draw()
    18. {
    19. }
    20. }
    + обьявлять витуальными деструкторы
    Последний раз редактировалось Romeo; 24.11.2009 в 13:47. Причина: Используй [code=cpp][/code]

  5. #4
    developer Airhand is on a distinguished road Аватар для Airhand
    Регистрация
    06.10.2005
    Адрес
    Dnepropetrovsk
    Возраст
    38
    Сообщений
    234
    Вес репутации
    13

    По умолчанию Re: Наследование

    Protected не лучше Private, т.к. все операции с координатами, нужно выполнять на уровне Point. Если управлять координатами на уровне наследников, то будет нарушена инкапсуляция. Может тебе для лабы, таких подробностей и не надо.
    Оптимизация по скорости:
    #define while if
    Оптимизация по размеру:
    #define struct union

+ Ответить в теме

Похожие темы

  1. Наследование
    Скажите, пожалуйста, как от класса Pair class Pair { public: Pair(){A=0;B=0;} ~Pair(){} private: int A,B; };
    от Monopo в разделе C и C++
  2. Множественное наследование
    Где искать инфу по множественному наследоваю? Желательно с примерами.
    от atavin-ta в разделе C и C++
  3. Как запретить наследование от класса?
    Привет всем. Есть класс А, и мы можем создать объект класса А. Надо сделать так чтобы не создавалось объект типа производного от А.
    от Vanush в разделе C и C++
  4. Множественное наследование
    Чтото я не пойму почему не компелируется такой код: class a{ public: a(){} virtual ~a(){} virtual bool f1()=0; virtual bool...
    от ssDev в разделе C и C++
  5. КАК сделать наследование прав доступа при копировании папки?
    Стоит Win XP. Есть 2 папки (Текущие проекты и Шаблон проектов). Их структура: В "Текущие проекты" море проектов (папки Проект 1, Проект 2....)....
    от BelkaJul в разделе Операционные системы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения