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

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

Войти
Регистрация
Восстановить пароль
 
Alexander Rav
Сообщений: n/a
#1

Нужно использовать в работе множественное наследование - не знаю куда засунуть - C++

29.05.2012, 16:32. Просмотров 362. Ответов 0
Метки нет (Все метки)

Задали написать небольшую программку для управления доходами магазина.

1 - Оплатить товары можно наличными, кредиткой или чеками. Можно сочетать эти способы оплаты в неограниченном количестве (например наличкой половина и 2 разные кредитки и еще 5 чеков на остальное). Единственное ограничение - та часть что оплачивается наличкой - только один раз. То есть нельза наличкой дать сначало половину, потом четверть наличкой и еще четверть кредиткой.

2 - Магазит хранить данные о каждой покупке:
дата, сумма и подробное описание способов оплаты этой покупки:

- Наличка - сумма
- Чек - сумма, id чека, имя банка, и дата написанная на чеке
- Кредитка - сумма, id кредитки, дата expired визитки, и дата когда с кредитки снимутся деньги
---------------

В задании есть еще условия но там вроде бы вообще никуда не засунешь множественное наследование.

В теории знаю что это и зачем - на практике не вижу смысла.

Единственное место которое дает мне сомнения - это вот эти способы оплаты... так как они имеют общие поля друг с другом.... но и тут моя логика мне мешает...

Я бы сделал так (обычное наследование):

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Cash
{
    int sum;
}
 
class Check:Cash
{
    int id, date;
    string bank_name;
}
 
class Credit:Cash
{
    int id, date, expire_month, expire_year;
}
Если бы у Credit нужно было нам bank_name тоже то наверное у кредит Cash и Check были бы папами... но там нам не нужно имя банка...

Вобщем есть смысл тут вообще пытаться использовать множественное наследование?

З.Ы
Сам магазин состоит у меня из классов:

1 - Product (товар)
2 - Cart (корзина купленных товаров но не оплаченных)
3 - Invoice (тут предполагается хранить информацию об оплате)
4 - Cash (наличка)
5 - Check (чек)
6 - Credit (кредитная карта)
7 - Shop (тут в принципе вся работа магазина, храню тут:
invoice * invoices_db;
int count_invoices;
Cart * carts_db;
int count_carts;

(то есть как бы база оплат корзин и самих корзин)

Возможно логка хромает...
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2012, 16:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужно использовать в работе множественное наследование - не знаю куда засунуть (C++):

Множественное наследование - когда оно действительно нужно? - C++
Здравствуйте! До изучения языка C++ я программировал на языках типа Java и C#, где множественное наследование от классов явно...

Множественное наследование - C++
Добрый день. У меня имеется базовый класс A. У этого класса есть несколько наследников. Есть еще один класс B, который является...

Множественное наследование - C++
Здравствуйте, всем! Я на этом форуме впервые. Пытаюсь изучать С++ самостоятельно. Литература некоторая имеется. Начал изучение с...

Множественное наследование - C++
Доброй ночи!:) вот условие http://www.imagepost.ru/images/1/5n/15n_1.jpg каждом класс должен содержать инициализирующие...

Множественное наследование - C++
Вычислите площадь и периметр прямоугольника, если известны его диагональ и одна из сторон.

множественное наследование - C++
разработайте алгоритм и создайте программы с применением множественного наследования. При выполнении данного задания необходимо создать не...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2012, 16:32
Привет! Вот еще темы с ответами:

Множественное наследование - C++
Помогите пожалуйста написать программу.

Множественное наследование - C++
Так как у меня эта тема заняла долгое время для изучения ,выкладываю простой пример для освоения #include<iostream> using namespace...

Множественное наследование - C++
// 4.1.cpp: главный файл проекта. #include <stdafx.h> #include <iostream> #include <string.h> #include <locale> #include...

Множественное наследование - C++
Описать два базовых класса с защищенной переменной типа char (в первом - фамилия, во втором - имя). В первом из них описать функцию...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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