/*
#include <iostream>
using namespace std;
class Circle {
int radius;
public:
Circle();
Circle(int radius);
void setRadius(int radius);
double getArea();
};
Circle::Circle(){
this->radius=1;
}
Circle::Circle(int radius){
this->radius = radius;
}
void Circle::setRadius(int radius){
this->radius=radius;
}
double Circle::getArea(){
return 3.14*radius*radius;
}
int main()
{
cout << "원의 개수 >> ";
int n, m, sum=0;
cin >> n;
Circle *pArray = new Circle[n];
for(int i=0; i<n; i++){
cout << "원 " << i+1 << "의 반지름 >> ";
cin >> m;
pArray[i].setRadius(m);
if(pArray[i].getArea() > 100)
{
sum++;
}
}
cout << "면적이 100보다 큰 원은 " << sum << "개 입니다" << endl;
}
*/
/*
#include <iostream>
using namespace std;
class Container{
int size;
public:
Container() { size = 10; }
void fill();
void consume();
int getSize();
};
class CoffeVendingMachine{
Container tong[3];
void fill();
void selectEspresso();
void selectAmericano();
void selectSugarCoffee();
void show();
public:
void run();
void menu1(){selectEspresso();}
void menu2(){selectAmericano();}
void menu3(){selectSugarCoffee();}
void menu4(){show();}
void menu5(){fill();}
int allin();
};
int CoffeVendingMachine::allin(){
if(tong[0].getSize()==0 || tong[1].getSize()==0 || tong[2].getSize()==0)
{
return true;
}
else{return false;}
}
void Container::fill(){
size=10;
}
void Container::consume(){
size--;
}
int Container::getSize(){
return size;
}
void CoffeVendingMachine::fill(){
tong[0].fill();
tong[1].fill();
tong[2].fill();
}
void CoffeVendingMachine::selectEspresso(){
tong[0].consume();
tong[1].consume();
}
void CoffeVendingMachine::selectAmericano(){
tong[0].consume();
tong[1].consume();
tong[1].consume();
}
void CoffeVendingMachine::selectSugarCoffee(){
tong[0].consume();
tong[1].consume();
tong[1].consume();
tong[2].consume();
}
void CoffeVendingMachine::show(){
cout << "커피 " << tong[0].getSize() << ", 물 " << tong[1].getSize() << ", 설탕 " << tong[2].getSize() << endl;
}
void CoffeVendingMachine::run(){
cout << "***** 커피자판기를 작동합니다. *****" << endl;
}
int main()
{
CoffeVendingMachine MachineA;
MachineA.run();
int n;
while(1){
cout << "메뉴를 눌러주세요(1:에스프레소, 2:아메리카노, 3:설탕커피, 4:잔량보기, 5:채우기)>> ";
cin >> n;
if(n==1){
if(MachineA.allin()){
cout << "원료가 부족합니다" << endl;
}
else{
MachineA.menu1();
cout << "에스프레소 드세요" << endl;
}
}
else if(n==2){
if(MachineA.allin()){
cout << "원료가 부족합니다" << endl;
}
else{
MachineA.menu2();
cout << "아메리카노 드세요" << endl;
}
}
else if(n==3){
if(MachineA.allin()){
cout << "원료가 부족합니다" << endl;
}
else{
MachineA.menu3();
cout << "설탕커피 드세요" << endl;
}
}
else if(n==4){
MachineA.menu4();
}
else if(n==5){
MachineA.menu5();
MachineA.menu4();
}
else{break;}
}
}
*/
/*
#include <iostream>
using namespace std;
class Circle {
private:
int radius;
public:
Circle();
Circle(int r);
~Circle();
double getArea() { return 3.14*radius*radius; }
int getRadius() { return radius; }
void setRadius(int radius) { this->radius = radius; }
};
Circle::Circle(){
radius = 1;
}
Circle::Circle(int radius){
this->radius = radius;
cout << "생성자 실행 radius = " << radius << endl;
}
Circle::~Circle(){
cout << "소멸자 실행 radius = " << radius << endl;
}
void increase(Circle c) {
int r = c.getRadius();
c.setRadius(r+1);
}
int main(){
Circle waffle(30);
increase(waffle);
cout << waffle.getRadius() << endl;
}
*/
/*
#include <iostream>
using namespace std;
class Circle {
private:
int radius;
public:
Circle();
Circle(int r);
~Circle();
double getArea() { return 3.14*radius*radius; }
int getRadius() { return radius; }
void setRadius(int radius) { this->radius = radius; }
};
Circle::Circle(){
radius = 1;
cout << "생성자 실행 radius = " << radius << endl;
}
Circle::Circle(int radius){
this->radius = radius;
cout << "생성자 실행 radius = " << radius << endl;
}
Circle::~Circle(){
cout << "소멸자 실행 radius = " << radius << endl;
}
void increase(Circle*p) {
int r = p->getRadius();
p->setRadius(r+1);
}
int main(){
Circle waffle(30);
increase(&waffle);
cout << waffle.getRadius() << endl;
}
*/
#include <iostream>
using namespace std;
class Circle {
int radius;
public:
Circle() { radius = 1; }
Circle(int radius) { this->radius = radius; }
void setRadius(int radius) { this->radius = radius; }
double getArea() { return 3.14*radius*radius; }
};
Circle getCircle(){
Circle tmp(30);
return tmp;
}
int main(){
Circle c;
cout << c.getArea() << endl;
c = getCircle();
cout << c.getArea() << endl;
}