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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
RAFA91
Заблокирован
#1

Неопределенность в абстракции - C++

02.07.2016, 12:03. Просмотров 390. Ответов 22
Метки нет (Все метки)

Добрый день.

Есть класс A от которого производится класс В и С.

У этих классов есть общий метод f1().

у класса B не должно быть метода f3(), а у С метода f2()

что-бы работал полиморфизм мне пришлось определить методы f2() и f3() в классе А.

чистыми их делать не могу, так как у класса B не должно быть метода f3(), а у С метода f2().

чистый тут только f1()

вся опасность в этом

C++
1
b->f3();  с->f2();
будут вызваны методы класса А.

В общем как это устранить при вышеизложенных требований.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
using namespace std;
 
class A
{
    public:
    virtual~A() {}
    virtual void f1() = 0;
    virtual void f2() {cout<<"f2() class A"<<endl;}
    virtual void f3() {cout<<"f3() class A"<<endl;}
};
class B : public A
{
    public:
    void f1() {cout<<"f1() class B"<<endl;}
    void f2() {cout<<"f2() class B"<<endl;}
};
class C : public A
{
    public:
    void f1() {cout<<"f1() class C"<<endl;}
    void f3() {cout<<"f3() class C"<<endl;}
};
 
int main() 
{
    A *b = new B;
    A *c = new C;
    b->f1();
    b->f2();
        b->f3();      //????????????????????????????????????????
    cout<<"********************"<<endl;
    c->f1();
        c->f2();   //????????????????????????????????????????
    c->f3();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2016, 12:03     Неопределенность в абстракции
Посмотрите здесь:

Сложность абстракции, полиморфизм, дублирование и другие - C++
//структура &quot;матрица&quot; //Представляет собой обёртку над двухмерным массивом template&lt;typename TypeT, int _SizeX, int _sizeY&gt; struct...

Чего стоит использование абстракции типов данных? - C++
Здравствуйте! Я ещё зелёный в этом деле, только учусь (на первом курсе), и после изучения структур и классов я их использую везде! Они...

Создать базовый класс, использовать свойства полиморфизма и абстракции - C++
Создать базовый класс &quot; Транспортное средство&quot; и производные классы: &quot;Автомобиль&quot;, &quot;Мопед&quot;, &quot;Велосипед&quot;. Посчитать время и стоимость...

Какая-то неопределенность при наследовании - C++
Всем привет! Прошу помощи. Суть: //A.h class A { A(); virtual ~A();

Абстракции - Обо всем!
Мои работы в стиле абстракций. Работа выполненная несколько месяцев назад.

Абстракция, уровни абстракции - C#
Как понять это? Может кто-нибудь объяснить более доступным и понятным языком нежели википедия?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HighPredator
5464 / 1830 / 338
Регистрация: 10.12.2010
Сообщений: 5,412
Записей в блоге: 3
02.07.2016, 23:02     Неопределенность в абстракции #21
Цитата Сообщение от RAFA91 Посмотреть сообщение
динамик каст даже не предлагайте
А в чем проблема с кастом?
Ferrari F1
Заблокирован
02.07.2016, 23:05     Неопределенность в абстракции #22
RAFA91, лови книгу. Думаю, с ней будет все понятнее...

Неопределенность в абстракции
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2016, 11:51     Неопределенность в абстракции
Еще ссылки по теме:

Права доступа, уровень абстракции - C# MVC
Использую Asp.net 4, в качестве провайдера доступа использую пока свой, похожий на membership. В БД есть: 1)таблица Users, в ней есть...

Интерфейс для абстракции доступа к данным - Java EE
Доброго времени суток, форумчане! Объясните мне пожалуйста, как начинающему, на пальцах, как пользоваться фреймворком Spring...

Разработка гибкой абстракции больших масштабов - PHP
Не уверен что нужный форум, но лучшего не нашел. ,Возможно термины буду применять не совсем корректно, надеюсь все поймут. Есть некая идея...

Доработать программу(выделение уровней абстракции и т.д.) - Java SE
Здравствуйте, нужно написать программу, которая бы по части имени или по регулярному выражению выполняла бы поиск файлов в директории и...


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

Или воспользуйтесь поиском по форуму:
RAFA91
Заблокирован
03.07.2016, 11:51  [ТС]     Неопределенность в абстракции #23
Цитата Сообщение от the11011 Посмотреть сообщение
можно попробовать через sealed и пару вспомогательных классов
попробуй. только не убей полиморфизм.
Цитата Сообщение от HighPredator Посмотреть сообщение
А в чем проблема с кастом?
оно мне не надо. это уже самый последний вариант.
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
с ней будет все понятнее...
понятней что ?
Yandex
Объявления
03.07.2016, 11:51     Неопределенность в абстракции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru