C++

간단한 코드를 작성해 Class 개념 익히기

Vetenir 2024. 12. 24. 21:25

목적

1. 헤더 파일과 코드 파일을 분리하여 작성하는 방법을 익힌다.

2. Class 개념을 함께 익힌다.

 

코드

배터리를 관리하는 코드

1. 배터리의 초기값은 100

2. 배터리를 사용하면 -5, 배터리를 충전하면 -7을 하여 반영.

 

Battery.h

#ifndef Battery_H_
#define Battery_H_

class Battery
{
private:
	int charge;

public:
	Battery(int charge = 100)
	{
		this->charge = charge;
	};

	int getCharge()
	{
		return charge;
	}

	int getUse();
	int getCharging();
	
};

#endif

생성자로 배터리의 충전량을 100으로 초기화 해주고

밑에 있는 기능을 구현할 멤버 함수를 작성했습니다.

기능을 클래스에 구현해도 되는 것으로 알고 있지만 다른 코드 파일에 작성해보았습니다.

 

BatteryState.cpp

#include  "Battery.h"
using namespace std;

int Battery::getUse()
{
	return charge -= 5;
}

int Battery::getCharging()
{
	return charge += 7;
}

배터리의 사용과 충전을 처리하는 코드입니다.

 

Main.cpp

#include <iostream>
#include "Battery.h"

using namespace std;

int main()
{
	int num;

	Battery b;
	cout << "현재 배터리 용량 : " << b.getCharge() << endl;
	cout << "배터리를 사용하시려면 1번, 배터리를 충전하시려면 2번." << endl;
	cout << "그 외의 키를 누르면 종료." << endl;

	while (true)
	{
		cin >> num;
		if (num == 1) {
			cout << "배터리 사용. 남은 용량 : " << b.getUse() << endl;
			continue;

		}
		else if (num == 2) {
			cout << "배터리 충전. 남은 용량 : " << b.getCharging() << endl;
			continue;
		}
		else
			cout << "종료."<< endl;
		break;
	}
	return 0;
}

배터리 클래스를 사용하는 메인 코드입니다.

배터리를 사용하는 기능은 숫자 1키를 누르고

충전하는 기능은 숫자 2키를 눌러 작동되게 했습니다.

 

물론 반복 입력을 받을 수 있게 만들어

사용되고 충전되면서 변하는 값이 잘 반영이 되는지

확인할 수 있게 만들어봤습니다.

 

 

 

코드 리뷰

글을 작성하다가 알게된 것은 위의 코드로는 충전만 하여 초기값을 넘어가거나

사용만하여 음수의 값으로 갈 수 있겠다는 것이 떠올랐습니다.

 

블로그에는 이렇게 수정하지 않고 글을 남기지만

이제 막 C++ 공부하시는 분들도

위의 코드를 수정하는 방법을 생각해보시는 것도 좋겠습니다.

 

감사합니다.

'C++' 카테고리의 다른 글

Visual Studio의 메모리 할당  (0) 2024.12.31
정적 변수 & 전역 변수 차이  (0) 2024.12.30
'상수 포인터'와 '포인터 상수'의 차이  (0) 2024.12.27
포인터 변수  (0) 2024.12.26
C++ 튜토리얼  (0) 2024.12.23