[C++ 소스] 의존(DEPENDENCY) 관계, 공장과 상품
//Product.h
#pragma once
#include <iostream>
#include <string>
using namespace std;
class Product
{
string name;
int price;
const int pnum;
public:
Product(string name,int price,int pnum);
void View()const;
};
//Product.cpp
#include "Product.h"
Product::Product(string name,int price,int pnum):pnum(pnum)
{
this->name = name;
this->price = price;
}
void Product::View()const
{
cout<<"일련번호:"<<pnum<<" 제품명:"<<name<<" 가격:"<<price<<endl;
}
//Factory.h
#pragma once
#include "Product.h"
#define MAX_PRODUCTS 10
class Factory
{
Product *products[MAX_PRODUCTS];
int sellcnt;
public:
Factory(void);
~Factory(void);
Product *Order(string name,int price);
};
//Factory.cpp
#include "Factory.h"
Factory::Factory(void)
{
sellcnt = 0;
}
Factory::~Factory(void)
{
for(int i = 0; i < sellcnt ; i++)
{
delete products[i];
}
}
Product *Factory::Order(string name,int price)
{
Product *product = new Product(name,price,sellcnt+1);
products[sellcnt] = product;
sellcnt++;
return product;
}
//Program.cpp
#include "Factory.h"
int main()
{
Factory *factory = new Factory();
Product *product = factory->Order("디딤돌C언어",5000);
product->View();
Product *product2 = factory->Order("디딤돌CPP",5000);
product2->View();
delete factory;
return 0;
}
실행 결과
일련번호:1 제품명:디딤돌C언어 가격:5000
일련번호:2 제품명:디딤돌CPP 가격:5000
본문
[디딤돌 C++] 66. 의존(DEPENDENCY) 관계
'C++ > 디딤돌 C++' 카테고리의 다른 글
[C++ 소스] 최종 프로그램 실습(학교, 도서관, 강의실, 학생 등) (0) | 2016.12.21 |
---|---|
[C++ 소스] 실현(REALIZATION) 관계, IStudy 인터페이스와 Student 클래스 (0) | 2016.12.18 |
[C++ 소스] 연관(ASSOCIATION) 관계, 의사와 약사 (0) | 2016.12.18 |
[C++ 소스] 직접 연관(DIRECTED ASSOCIATION) 관계, 회사와 직원 (0) | 2016.12.18 |
[C++ 소스] 구성 관계(Composition Relation), 사람과 눈 (0) | 2016.12.18 |