More actions
imported>computer6561 No edit summary |
imported>computer6561 No edit summary |
||
| (6 intermediate revisions by 2 users not shown) | |||
| Line 28: | Line 28: | ||
** public은 어느 곳에서든 접근 할 수 있으며 아무것도 쓰지 않으면 default가 private이 된다. | ** public은 어느 곳에서든 접근 할 수 있으며 아무것도 쓰지 않으면 default가 private이 된다. | ||
* Inline 함수는 헤더 파일 부분에 선언해야 한다. | * Inline 함수는 헤더 파일 부분에 선언해야 한다. | ||
* 정보은닉 : 밖에서 건드릴 필요 없는 변수는 함수로 접근한다. 이럴 용도의 함수를 엑세스 함수라 한다. | |||
* 캡슐화 : 묶을수 있는건 묶는다. | |||
* 생성자 : 클래스 생성시 어떻게 초기화할지를 가진다. | |||
* 소멸자 : 클래스 소멸시 어떻게 지울지를 가진다. 다음시간에 더 자세히 하자. | |||
* 사과장수.cpp | * 사과장수.cpp | ||
#include<iostream> | |||
using namespace std; | |||
class appleseller | |||
{ | |||
private: | |||
int Apple_num; | |||
int Apple_price; | |||
int Money; | |||
public: | |||
void sell_apple(int num) const; | |||
void show_result() const; | |||
void init_member(int price, int num, int money); | |||
}; | |||
int main(){ | |||
int flag; | |||
int money; | |||
int num; | |||
appleseller hoon; | |||
appleseller * taekyun = new appleseller; | |||
hoon.init_member(10000, 100, 0); | |||
while (1) | |||
{ | |||
cout << "입력하세요 : 1 사기 2 결과출력" << endl; | |||
cin >> flag; | |||
switch (flag) | |||
{ | |||
case 1: | |||
cout << "몇개사나요 ? "; | |||
cin >> num; | |||
hoon.sell_apple(num); | |||
break; | |||
case 2: | |||
hoon.show_result(); | |||
break; | |||
} | |||
} | |||
} | |||
void appleseller::init_member(int price, int num, int money) | |||
{ | |||
Apple_price = price; | |||
Apple_num = num; | |||
Money = money; | |||
} | |||
void appleseller::sell_apple(int num) const | |||
{ | |||
Apple_num -= num; | |||
Money += Apple_price * num; | |||
show_result(); | |||
} | |||
void appleseller::show_result() const | |||
{ | |||
cout << "남은사과 " << Apple_num << " 돈 " << Money << endl; | |||
} | |||
| Line 36: | Line 110: | ||
* 공부 방법을 드디어 확정. 스터디 시작 후 일정 시간동안 공부를 하고 공부한 것에 대해 이야기를 하는 것으로 결정. | * 공부 방법을 드디어 확정. 스터디 시작 후 일정 시간동안 공부를 하고 공부한 것에 대해 이야기를 하는 것으로 결정. | ||
== 과제 == | |||
* 사과 장수 클래스 만들기 | |||
** 사과장수 클래스 만들기 | |||
** 멤버변수로 사과가격, 소유 돈, 소유 사과갯수 | |||
** 멤버함수로 사과팔기, 초기화, 가지고 있는거 출력하기 | |||
** 멤버함수의 초기화를 생성자를 통해서 만들어보기 | |||
== 과제 제출란 == | |||
* 다음에는 모두 git을 쓰는지 확인해서 git으로 제출합시다. | |||
** 위키는 과제 제출로는 영 아니올시다 | |||
{| class="wikitable" | |||
|- | |||
| 이름 | |||
| [[권준혁]] | |||
| [[장혁재]] | |||
| [[이태균]] | |||
| [[유재범]] | |||
| [[성훈]] | |||
|- | |||
| 제출 여부 | |||
| | |||
| | |||
| | |||
| O | |||
| | |||
|} | |||
[[권준혁]] | |||
[[장혁재]] | |||
[[이태균]] | |||
[[유재범]] | |||
#include <iostream> | |||
using namespace std; | |||
class AppleSeller{ | |||
private: | |||
int applePrice; | |||
int moneyHave; | |||
int appleNum; | |||
public: | |||
void SellApple(int num); | |||
int ShowApple(void); | |||
int ShowMoney(void); | |||
void Reset(void); | |||
void SetAll(int applePrice, int moneyHave, int appleNum); | |||
}; | |||
int main(void) | |||
{ | |||
int input, num, saveApple, saveMoney, savePrice; | |||
AppleSeller JaeBeom; | |||
cout<<"당신이 가지고 있는 사과의 갯수는?"<<endl; | |||
cin>>saveApple; | |||
cout<<"사과를 개당 얼마에 파실 것입니까?"<<endl; | |||
cin>>savePrice; | |||
cout<<"초기 소지 금액은 얼마이십니까?"<<endl; | |||
cin>>saveMoney; | |||
JaeBeom.SetAll(savePrice, saveMoney, saveApple); | |||
while(1) | |||
{ | |||
cout<<"1 : 사과 팔기\n2 : 소지 금액 보기\n3 : 소지 사과 갯수 확인\n4 : 장사 리셋"<<endl; | |||
cin>>input; | |||
switch(input) | |||
{ | |||
case(1): | |||
cout<<"몇 개를 파시겠습니까?"<<endl; | |||
cin>>num; | |||
JaeBeom.SellApple(num); | |||
break; | |||
case(2): | |||
cout<<"당신의 소지 금액은 "<<JaeBeom.ShowMoney()<<"원 입니다."<<endl; | |||
break; | |||
case(3): | |||
cout<<"당신의 사과 갯수는 "<<JaeBeom.ShowApple()<<"개 입니다."<<endl; | |||
break; | |||
case(4): | |||
JaeBeom.SetAll(savePrice, saveMoney, saveApple); | |||
} | |||
if(JaeBeom.ShowApple()==0) | |||
{ | |||
cout<<"장사가 끝났습니다. 당신이 판매하신 사과의 갯수는 "<<JaeBeom.ShowApple()<<"개 이며 "<<JaeBeom.ShowApple()-saveMoney<<"원을 이득 보셔서 현재 "<<JaeBeom.ShowMoney()<<"원을 소지하고 계십니다."<<endl; | |||
break; | |||
} | |||
} | |||
return 0; | |||
} | |||
void AppleSeller::SetAll(int savePrice, int saveMoney, int saveApple) | |||
{ | |||
applePrice=savePrice; | |||
moneyHave=saveMoney; | |||
appleNum=saveApple; | |||
} | |||
void AppleSeller::SellApple(int num) | |||
{ | |||
appleNum-=num; | |||
moneyHave+=(num*applePrice); | |||
} | |||
int AppleSeller::ShowMoney() | |||
{ | |||
return moneyHave; | |||
} | |||
int AppleSeller::ShowApple() | |||
{ | |||
return appleNum; | |||
} | |||
~~ 아 파일 올리기 안된다ㅠㅠ~~ | |||
[[성훈]] | |||
== 다음 이 시간에는 == | == 다음 이 시간에는 == | ||
* 04-3, 04-4. | * 04-3, 04-4. 생성자, 클래스 배열, this 포인터에 대해서 배우자. | ||
모여가지고 LIVE 코딩(시간되면) | |||
유재범 학우가 준비합니다. | |||
== 질문 == | == 질문 == | ||
Latest revision as of 07:21, 5 October 2014
시간 및 장소
- 15 : 00 ~
- 제로페이지 학회실
참가자
| 권준혁 | 장혁재 | 이태균 | 유재범 | 성훈 |
| 참석 | 불참 | 참석 | 참석 | 참석 |
내용
- 구조체 내에 함수를 넣을 수 있다.
- 함수를 선언하고 나중에 수정 할 수 있다.
- 지시자는 public, private, protected로 3가지가 있으나 현재 쓸 것은 public, private이다.
- private는 클래스 내부에서만 접근 할 수 있다.
- public은 어느 곳에서든 접근 할 수 있으며 아무것도 쓰지 않으면 default가 private이 된다.
- Inline 함수는 헤더 파일 부분에 선언해야 한다.
- 정보은닉 : 밖에서 건드릴 필요 없는 변수는 함수로 접근한다. 이럴 용도의 함수를 엑세스 함수라 한다.
- 캡슐화 : 묶을수 있는건 묶는다.
- 생성자 : 클래스 생성시 어떻게 초기화할지를 가진다.
- 소멸자 : 클래스 소멸시 어떻게 지울지를 가진다. 다음시간에 더 자세히 하자.
- 사과장수.cpp
#include<iostream>
using namespace std;
class appleseller
{
private:
int Apple_num;
int Apple_price;
int Money;
public:
void sell_apple(int num) const;
void show_result() const;
void init_member(int price, int num, int money);
};
int main(){
int flag;
int money;
int num;
appleseller hoon;
appleseller * taekyun = new appleseller;
hoon.init_member(10000, 100, 0);
while (1)
{
cout << "입력하세요 : 1 사기 2 결과출력" << endl;
cin >> flag;
switch (flag)
{
case 1:
cout << "몇개사나요 ? ";
cin >> num;
hoon.sell_apple(num);
break;
case 2:
hoon.show_result();
break;
}
}
}
void appleseller::init_member(int price, int num, int money)
{
Apple_price = price;
Apple_num = num;
Money = money;
}
void appleseller::sell_apple(int num) const
{
Apple_num -= num;
Money += Apple_price * num;
show_result();
}
void appleseller::show_result() const
{
cout << "남은사과 " << Apple_num << " 돈 " << Money << endl;
}
- 공부 방법을 드디어 확정. 스터디 시작 후 일정 시간동안 공부를 하고 공부한 것에 대해 이야기를 하는 것으로 결정.
과제
- 사과 장수 클래스 만들기
- 사과장수 클래스 만들기
- 멤버변수로 사과가격, 소유 돈, 소유 사과갯수
- 멤버함수로 사과팔기, 초기화, 가지고 있는거 출력하기
- 멤버함수의 초기화를 생성자를 통해서 만들어보기
과제 제출란
- 다음에는 모두 git을 쓰는지 확인해서 git으로 제출합시다.
- 위키는 과제 제출로는 영 아니올시다
| 이름 | 권준혁 | 장혁재 | 이태균 | 유재범 | 성훈 |
| 제출 여부 | O |
#include <iostream>
using namespace std;
class AppleSeller{
private:
int applePrice;
int moneyHave;
int appleNum;
public:
void SellApple(int num);
int ShowApple(void);
int ShowMoney(void);
void Reset(void);
void SetAll(int applePrice, int moneyHave, int appleNum);
};
int main(void)
{
int input, num, saveApple, saveMoney, savePrice;
AppleSeller JaeBeom;
cout<<"당신이 가지고 있는 사과의 갯수는?"<<endl;
cin>>saveApple;
cout<<"사과를 개당 얼마에 파실 것입니까?"<<endl;
cin>>savePrice;
cout<<"초기 소지 금액은 얼마이십니까?"<<endl;
cin>>saveMoney;
JaeBeom.SetAll(savePrice, saveMoney, saveApple);
while(1)
{
cout<<"1 : 사과 팔기\n2 : 소지 금액 보기\n3 : 소지 사과 갯수 확인\n4 : 장사 리셋"<<endl;
cin>>input;
switch(input)
{
case(1):
cout<<"몇 개를 파시겠습니까?"<<endl;
cin>>num;
JaeBeom.SellApple(num);
break;
case(2):
cout<<"당신의 소지 금액은 "<<JaeBeom.ShowMoney()<<"원 입니다."<<endl;
break;
case(3):
cout<<"당신의 사과 갯수는 "<<JaeBeom.ShowApple()<<"개 입니다."<<endl;
break;
case(4):
JaeBeom.SetAll(savePrice, saveMoney, saveApple);
}
if(JaeBeom.ShowApple()==0)
{
cout<<"장사가 끝났습니다. 당신이 판매하신 사과의 갯수는 "<<JaeBeom.ShowApple()<<"개 이며 "<<JaeBeom.ShowApple()-saveMoney<<"원을 이득 보셔서 현재 "<<JaeBeom.ShowMoney()<<"원을 소지하고 계십니다."<<endl;
break;
}
}
return 0;
}
void AppleSeller::SetAll(int savePrice, int saveMoney, int saveApple)
{
applePrice=savePrice;
moneyHave=saveMoney;
appleNum=saveApple;
}
void AppleSeller::SellApple(int num)
{
appleNum-=num;
moneyHave+=(num*applePrice);
}
int AppleSeller::ShowMoney()
{
return moneyHave;
}
int AppleSeller::ShowApple()
{
return appleNum;
}
~~ 아 파일 올리기 안된다ㅠㅠ~~ 성훈
다음 이 시간에는
- 04-3, 04-4. 생성자, 클래스 배열, this 포인터에 대해서 배우자.
모여가지고 LIVE 코딩(시간되면)
유재범 학우가 준비합니다.