본문 바로가기
C++

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

by KWONE 2024. 8. 2.

문제 1

#pragma once
#ifndef __CALCULATOR_H__
#define __CALCULATOR_H__
#include <iostream>

class Calculator
{
private:
	int Add_count;
	int Mul_count;
	int Div_count;
	int Min_count;

public:
	double Add(double num1, double num2);
	double Div(double num1, double num2);
	double Min(double num1, double num2);
	double Mul(double num1, double num2);
	void Init();
	void ShowOpCount();
};

#endif

calculator.h 헤더파일

#include <iostream>
#include "calculator.h"
using namespace std;

double Calculator::Add(double num1, double num2)
{
	Add_count++;
	return num1 + num2;
}

double Calculator::Div(double num1, double num2)
{
	Div_count++;
	return num1 / num2;
}

double Calculator::Min(double num1, double num2)
{
	Min_count++;
	return num1 - num2;
}

double Calculator::Mul(double num1, double num2)
{
	Mul_count++;
	return num1 * num2;
}

void Calculator::Init()
{
	Add_count = 0;
	Mul_count = 0;
	Div_count = 0;
	Min_count = 0;
}

void Calculator::ShowOpCount()
{
	cout << "덧셈: " << Add_count << " " << "뺄셈: " << Min_count << " " << "곱셈: " << Mul_count << " " << "나눗셈: " << Div_count;
}

calculatorfunc.cpp 함수 정의 소스파일

#include <iostream>
#include "calculator.h"
using namespace std;

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.5 = " << cal.Min(2.2, 1.5) << endl;
	cout << "4.9 / 1.2 = " << cal.Div(4.9, 1.2) << endl;
	cal.ShowOpCount();
}

calculatormain.cpp 함수 메인 소스파일

문제 2

#pragma once
#define _CRT_SECURE_NO_WARNINGS
#ifndef __PRINTER_H__
#define __PRINTER_H__
#include <iostream>

using namespace std;

class Printer
{
private:
	char str[100];

public:
	void SetString(const char *pstr);
	void ShowString();
};
#endif

Printer.h 헤더파일

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include "Printer.h"
using namespace std;

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

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

Printerfunc.cpp 함수정의 소스파일

#include <iostream>
#include "Printer.h"
using namespace std;

int main()
{
	Printer pnt;
	pnt.SetString("Hello World!");
	pnt.ShowString();

	pnt.SetString("I love C++");
	pnt.ShowString();
	return 0;
}

Printer.cpp 함수 메인 소스파일