티스토리 뷰

C C++/열혈 C++ 연습문제

[문제 03-2] 클래스의 정의

개발하는꼬물이 2017. 8. 29. 15:11

문제 1. 계산기 기능의 Calculator 클래스를 정의해보자. 기본적으로 지니는 기능은 덧셈, 뺄셈, 곱셈, 나눗셈이며, 연산을 할 때마다 어떠한 연산을 몇 번 수행했는지 기록되어야 한다. 멤버변수는 private, 멤버함수는 public으로 선언하자.

#include <iostream>
using namespace std;

class Calculator
{
private:
	int addCount, minCount, multiCount, divCount;  // 덧셈, 뺄셈, 곱셈, 나눗셈 수행 횟수

public:
	void Init();
	double Add(double x, double y);
	double Min(double x, double y);
	double Multi(double x, double y);
	double Div(double x, double y);
	void ShowCount();
};

void Calculator::Init()
{
	addCount = 0;
	minCount = 0;
	multiCount = 0;
	divCount = 0;
}

double Calculator::Add(double x, double y)
{
	addCount++;

	return x + y;
}

double Calculator::Min(double x, double y)
{
	minCount++;

	return x - y;
}

double Calculator::Multi(double x, double y)
{
	multiCount++;

	return x * y;
}

double Calculator::Div(double x, double y)
{
	divCount++;

	return x / y;
}

void Calculator::ShowCount()
{
	cout << "덧셈 : " << addCount << ", 뺄셈 : " << minCount << ", 곱셈 : " << multiCount << ", 나눗셈 : " << divCount << endl;
}

int main()
{
	Calculator cal;

	cal.Init();

	cout << "3.2 + 2.4 = " << cal.Add(3.2, 2.4) << endl;
	cout << "3.5 / 1.7 = " << cal.Div(3.5, 1.7) << endl;
	cout << "2.2 - 1.1 = " << cal.Min(2.2, 1.1) << endl;

	cal.ShowCount();

	return 0;
}



문제 2. 문자열 정보를 내부에 저장하는 Printer 클래스를 디자인하자. 이 클래스의 기능은 문자열 저장과 문자열 출력이다.

#include <iostream>
#include <cstring>
using namespace std;

class Printer
{
private:
	char str[30];
public:
	void SetString(char *s);
	void ShowString();
};

void Printer::SetString(char *s)
{
	strcpy(str, s);
}

void Printer::ShowString()
{
	cout << str << endl;
}

int main()
{
	Printer print;

	print.SetString("Hello World");
	print.ShowString();

	print.SetString("Nice to Meet you~");
	print.ShowString();

	return 0;
}


댓글