/*
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
return 0;
}
*/
/*
#include<iostream>
#include<string>
using namespace std;
class TV{
int size;
public:
TV() {size = 20;}
TV(int size)
{
this->size = size;
}
int getsize()
{
return size;
}
};
class WideTV : public TV{
bool videoIn;
public:
WideTV(int size, bool videoIn) : TV(size)
{
this->videoIn = videoIn;
}
bool getVideoIn()
{
return videoIn;
}
};
class SmartTv : public WideTV{
string ip;
public:
SmartTv(string ip, int size) : WideTV(size, true)
{
this->ip = ip;
}
string getip()
{
return ip;
}
};
int main()
{
SmartTv htv("192.0.0.1",32);
cout << "size=" << htv.getsize() << endl;
cout << "videoIn=" << boolalpha << htv.getVideoIn() << endl;
cout << "ip=" << htv.getip() << endl;
}
*/
/*
#include<iostream>
using namespace std;
class Adder{
protected:
int add(int a, int b)
{
return a+b;
}
};
class Subtractor{
protected:
int minus(int a, int b)
{
return a-b;
}
};
class Calculator : public Adder, public Subtractor{
public:
int calc(char op, int a, int b);
};
int Calculator::calc(char op, int a, int b)
{
int res = 0;
switch(op)
{
case '+' : res = add(a, b); break;
case '-' : res = minus(a, b); break;
}
return res;
}
int main()
{
Calculator handCalculator;
cout << "2 + 4 =" << handCalculator.calc('+', 2, 4) << endl;
cout << "100 - 8 =" << handCalculator.calc('-', 100, 8) << endl;
}
*/
/*
#include<iostream>
#include<string>
using namespace std;
class Circle{
int radius;
public:
Circle(int radius=0) {this->radius = radius;}
int getRadius() {return radius;}
void setRadius(int radius) {this->radius = radius;}
double getArea() {return 3.14*radius*radius;}
};
class NamedCircle : public Circle{
string name;
public:
NamedCircle(int radius, string name)
{
setRadius(radius);
this-> name = name;
}
void show()
{
cout << "반지름이 " << getRadius() << "인 " << name << endl;
}
};
int main()
{
NamedCircle waffle(3, "waffle");
waffle.show();
}
*/
/*
#include<iostream>
#include<string>
using namespace std;
class Point{
int x,y;
public:
Point(int x, int y) { this->x = x; this->y = y;}
int getX() {return x;}
int getY() {return y;}
protected:
void move(int x, int y) {this-> x= x; this-> y = y;}
};
class ColorPoint : public Point{
string color;
public:
ColorPoint(int x, int y, string color) : Point(x,y)
{
this-> color = color;
}
void setPoint(int x, int y)
{
move(x,y);
}
void setColor(string color)
{
this->color = color;
}
void show()
{
cout << color << "색으로 (" << getX() << "," << getY() << ")에 위치한 점입니다." << endl;
}
};
int main()
{
ColorPoint cp(5, 5, "Red");
cp.setPoint(10, 20);
cp.setColor("Blue");
cp.show();
}
*/
#include<iostream>
using namespace std;
class BaseArray{
private:
int capacity;
int *mem;
protected:
BaseArray(int capacity=100)
{
this->capacity = capacity;
mem = new int [capacity];
}
~BaseArray() {delete [] mem;}
void put (int index, int val) {mem[index] = val;}
int get(int index) {return mem[index];}
int getCapacity() {return capacity;}
};
class MyQueue : public BaseArray{
public:
MyQueue(int capacity) : BaseArray(capacity)
};