//C++ 연습
//bool 형식은 1비트 (8칸중에 1칸쓰고 7칸 버림.)
/*
#include<iostream>
#define MAX 10+20
using namespace std;
int main() {
char adress[100];
cin.getline(adress, 100);
cout << "주소는" << adress << "입니다.\n";
}*/
//클래스 - 생성자 파괴자
/*
#include<iostream>
using namespace std;
class party {
public:
// contructor
party();
party(int a, int b, int c);
// destructor
~party();
int a, b, c;
int show();
int sum(int x, int y);
private:
float x;
};
party::party() {
cout << "HELLO INIT\n";
a = 100;
b = 200;
c = 300;
}
party::party(int a, int b, int c) {
cout << "333";
this->a = a;
this->b = b;
this->c = c;
}
party::~party() {
cout << a << "BYE INIT\n";
}
int party::show() {
return a;
}
int main() {
party p;
party k(10, 20, 30);
cout << k.show() << endl;
}*/
/*
#include<iostream>
using namespace std;
class Circle
{
public:
Circle();
Circle(int r);
~Circle();
int radius;
double getArea();
};
Circle::Circle()
{
}
Circle::Circle(int r)
{
this->radius = r;
}
Circle::~Circle()
{
}
double Circle::getArea()
{
return 3.14 * radius * radius;
}
int main()
{
int n;
cin >> n;
Circle r_donut(n);
double area = r_donut.getArea();
cout << "donut 면적은 " << area << endl;
Circle pizza;
pizza.radius = 30;
area = pizza.getArea();
cout << "pizza 면적은 " << area << endl;
}*/
/*
#include<iostream>
#include<string>
using namespace std;
class Hello
{
public:
Hello();
Hello(string a);
~Hello();
string a;
void setX(int x);
private:
int x, y, z;
};
void Hello::setX(int x) {
if (x < 0) return;
this->x = x;
}
Hello::Hello() : Hello("aaaa") {
//super("bbb");
cout << "hello" << endl;
}
Hello::Hello(string a) :a(a)
{
cout << this->a<<1<< endl;
}
Hello::~Hello()
{
}
Hello b;
void f()
{
Hello e;
}
int main()
{
Hello s;
cout << s.a <<2<< endl;
f();
}*/
/*
#include<iostream>
#include "party.h"
using namespace std;
class PrivateAccessError
{
private:
int a;
void f();
PrivateAccessError();
public:
int b;
PrivateAccessError(int x);
void g();
void setA(int n);
int getA();
void AccessF();
};
void PrivateAccessError::AccessF()
{
f();
}
PrivateAccessError::PrivateAccessError()
{
a = 1;
b = 1;
cout << a << " " << b << endl;
}
PrivateAccessError::PrivateAccessError(int x)
{
a = x;
b = x;
cout << a << " " << b << endl;
}
void PrivateAccessError::setA(int n)
{
a = n;
}
int PrivateAccessError::getA()
{
return a;
}
void PrivateAccessError::f()
{
a = 5;
b = 5;
}
void PrivateAccessError::g()
{
a = 6;
b = 6;
}
int main()
{
//PrivateAccessError objB(100);
//objB.b = 20;
//objB.g();
PrivateAccessError objA(100);
objA.AccessF();
cout << objA.getA()<<" "<<objA.b << endl;
name ppp;
ppp.a = 10;
ppp.ss();
}*/
/*
#include<iostream>
using namespace std;
class Tower
{
private:
int height;
public:
Tower();
Tower(int n);
int getHeight();
};
Tower::Tower()
{
height = 1;
}
Tower::Tower(int n)
{
height = n;
}
int Tower::getHeight()
{
return height;
}
int main()
{
Tower myTower;
Tower seoulTower(100);
cout << "높이는 " << myTower.getHeight() << "미터" << endl;
cout << "높이는 " << seoulTower.getHeight() << "미터" << endl;
}*/
#include<iostream>
#include<string>
#include<vector>
#include<sstream>
using namespace std;
class Date
{
private:
int year, month, day;
public:
int getYear();
int getMonth();
int getDay();
Date(int y, int m, int d);
Date(string ymd);
~Date();
void show();
};
Date::~Date()
{
}
int Date::getYear()
{
return year;
}
int Date::getMonth()
{
return month;
}
int Date::getDay()
{
return day;
}
Date::Date(int y, int m, int d)
{
year = y;
month = m;
day = d;
}
Date::Date(string a)
{
istringstream ss(a);
vector<string> x;
string stringBuffer;
while (getline(ss, stringBuffer, '/')) {
x.push_back(stringBuffer);
}
year = stoi(x[0]);
month = stoi(x[1]);
day = stoi(x[2]);
}
void Date::show()
{
cout << year << "년" << month << "월" << day << "일" << endl;
}
int main()
{
Date birth(2014, 3, 20);
Date independenceDay("1945/8/15");
independenceDay.show();
cout << birth.getYear() << ',' << birth.getMonth() << ',' << birth.getDay() << endl;
//Vector 예시
//vector<int> data;
//data.push_back(10);
//data.push_back(20);
//cout << data.size();
//data.pop_back();
//cout << data.size();
}