Difference between r1.3 and the current
@@ -15,20 +15,207 @@
* private는 클래스 내부에서만 접근 할 수 있다.
* public은 어느 곳에서든 접근 할 수 있으며 아무것도 쓰지 않으면 default가 private이 된다.
* Inline 함수는 헤더 파일 부분에 선언해야 한다.
{{{
코드를 붙여넣으시오
* 공부 방법을 드디어 확정. 스터디 시작 후 일정 시간동안 공부를 하고 공부한 것에 대해 이야기를 하는 것으로 결정.
* 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. 아마 생성자 관련 내용이 많을 듯 하다.
* 04-3, 04-4. 생성자, 클래스 배열, this 포인터에 대해서 배우자.
모여가지고 LIVE 코딩(시간되면)
유재범 학우가 준비합니다.
== 질문 ==3. 내용 ¶
- 구조체 내에 함수를 넣을 수 있다.
- 함수를 선언하고 나중에 수정 할 수 있다.
- 지시자는 public, private, protected로 3가지가 있으나 현재 쓸 것은 public, private이다.
- private는 클래스 내부에서만 접근 할 수 있다.
- public은 어느 곳에서든 접근 할 수 있으며 아무것도 쓰지 않으면 default가 private이 된다.
- 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; }
- 공부 방법을 드디어 확정. 스터디 시작 후 일정 시간동안 공부를 하고 공부한 것에 대해 이야기를 하는 것으로 결정.
4. 과제 ¶
- 사과 장수 클래스 만들기
- 사과장수 클래스 만들기
- 멤버변수로 사과가격, 소유 돈, 소유 사과갯수
- 멤버함수로 사과팔기, 초기화, 가지고 있는거 출력하기
- 멤버함수의 초기화를 생성자를 통해서 만들어보기
- 사과장수 클래스 만들기
5. 과제 제출란 ¶
유재범
아 파일 올리기 안된다ㅠㅠ
성훈
#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; }
성훈