This repository has been archived on 2022-11-09. You can view files and clone it, but cannot push or open issues or pull requests.
patterns-old/lesson_3/main.cpp

49 lines
1.3 KiB
C++
Raw Normal View History

2021-11-01 18:04:47 +00:00
/*
* main.cpp
*
* Created on: 1 нояб. 2021 г.
* Author: alexander
*/
#include "Beverage.hpp"
#include "Espresso.hpp"
#include "DarkRoast.hpp"
#include "Mocha.hpp"
#include "Whip.hpp"
#include "HouseBlend.hpp"
#include "Soy.hpp"
#include "Decaf.hpp"
#include "Milk.hpp"
#include <iostream>
int main()
{
Beverage *beverage = new Espresso();
std::cout << beverage->getDescription() << " $" << beverage->cost() << std::endl;
Beverage *beverage2 = new DarkRoast();
beverage2 = new Mocha(beverage2);
beverage2 = new Mocha(beverage2);
beverage2 = new Whip(beverage2);
std::cout << beverage2->getDescription() << " $" << beverage2->cost() << std::endl;
Beverage *beverage3 = new HouseBlend();
beverage3->setSize(Beverage::Size::VENTI);
beverage3 = new Soy(beverage3);
beverage3 = new Mocha(beverage3);
beverage3 = new Whip(beverage3);
std::cout << beverage3->getDescription() << " $" << beverage3->cost() << std::endl;
Beverage *beverage4 = new Decaf();
beverage4 = new Mocha(beverage4);
beverage4 = new Mocha(beverage4);
beverage4 = new Milk(beverage4);
std::cout << beverage4->getDescription() << " $" << beverage4->cost() << std::endl;
delete beverage;
delete beverage2;
delete beverage3;
return 0;
}