U E D R , A S I H C RSS

C++스터디(이름미정)/20141001 (rev. 1.9)

C++스터디(이름미정)/20141001


1. 시간 및 장소


  • 15 : 00 ~
  • 제로페이지 학회실

2. 참가자


권준혁 장혁재 이태균 유재범 성훈
참석 불참 참석 참석 참석

3. 내용

  • 구조체 내에 함수를 넣을 수 있다.
  • 함수를 선언하고 나중에 수정 할 수 있다.
  • 지시자는 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;

 
}




  • 공부 방법을 드디어 확정. 스터디 시작 후 일정 시간동안 공부를 하고 공부한 것에 대해 이야기를 하는 것으로 결정.

4. 과제

  • 사과 장수 클래스 만들기
    • 사과장수 클래스 만들기
    • 멤버변수로 사과가격, 소유 돈, 소유 사과갯수
    • 멤버함수로 사과팔기, 초기화, 가지고 있는거 출력하기
    • 멤버함수의 초기화를 생성자를 통해서 만들어보기

5. 과제 제출란

  • 다음에는 모두 git을 쓰는지 확인해서 git으로 제출합시다.
    • 위키는 과제 제출로는 영 아니올시다

이름 권준혁 장혁재 이태균 유재범 성훈
제출 여부

권준혁




유재범
#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;
}
아 파일 올리기 안된다ㅠㅠ
성훈

6. 다음 이 시간에는


  • 04-3, 04-4. 생성자, 클래스 배열, this 포인터에 대해서 배우자.
모여가지고 LIVE 코딩(시간되면)

유재범 학우가 준비합니다.

7. 질문




Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:45
Processing time 0.0220 sec