반응형
클래스활용 예제
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
namespace CAR_CONST
{
enum
{
ID_LEN=20,MAX_SPD=200,FUEL_STEP=2,
ACC_STEP=10,BRK_STEP=10
};
}
class Car
{
private:
char gamerID[CAR_CONST::ID_LEN];
int fuelGauge;
int curSpeed;
public:
void InitMembers(char *ID, int fuel);
void ShowCarState();
void Accel();
void Break();
};
void Car::InitMembers(char* ID, int fuel)
{
strcpy(gamerID, ID);
fuelGauge = fuel;
curSpeed = 0;
}
void Car::ShowCarState()
{
cout << "소유자ID: " << gamerID << endl;
cout << "연료량: " << fuelGauge << "%"<< endl;
cout << "현재속도: " << curSpeed << "km/s" << endl << endl;
}
void Car::Accel()
{
if (fuelGauge <= 0)
return;
else
fuelGauge -= CAR_CONST::FUEL_STEP;
if ((curSpeed + CAR_CONST::ACC_STEP) >= CAR_CONST::MAX_SPD)
{
curSpeed = CAR_CONST::MAX_SPD;
return;
}
curSpeed += CAR_CONST::ACC_STEP;
}
void Car::Break()
{
if (curSpeed < CAR_CONST::BRK_STEP)
{
curSpeed = 0;
return;
}
curSpeed -= CAR_CONST::BRK_STEP;
}
int main()
{
char text[] = "run99";
Car run99;
run99.InitMembers(text, 100);
run99.Accel();
run99.Accel();
run99.Accel();
run99.ShowCarState();
run99.Break();
run99.ShowCarState();
return 0;
}
1번
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
class Calculator
{
private:
float x, y;
int ac,dc,mic,muc;
public:
void Init()
{
ac = 0;
dc = 0;
mic = 0;
muc = 0;
}
float Add(float x, float y)
{
ac++;
return x + y;
}
float Div(float x, float y)
{
dc++;
return x / y;
}
float Min(float x, float y)
{
mic++;
return x - y;
}
float Mul(float x, float y)
{
muc++;
return x * y;
}
void ShowOpCount()
{
cout << "덧셈: " << ac << " " << "뺄셈: " << mic << " " << "곱셈: " << muc << " " << "나눗셈: " << dc << 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.5 = " << cal.Min(2.2, 1.5) << endl;
cout << "4.9 / 1.2 = " << cal.Div(4.9, 1.2) << endl;
cal.ShowOpCount();
return 0;
}
2번
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>
using namespace std;
class Printer
{
private:
char temp[100];
public:
void SetString(char* arr)
{
strcpy(temp, arr);
}
void ShowString()
{
cout << temp << endl;
}
};
int main()
{
char text1[] = "hello world!";
char text2[] = "I love c++";
Printer pnt;
pnt.SetString(text1);
pnt.ShowString();
pnt.SetString(text2);
pnt.ShowString();
return 0;
}
반응형
'Programming > C++' 카테고리의 다른 글
열혈 c++ Chapter02 문제02-3 , 02-4 문제1 , 문제2, Chapter03 예제 (참조자,상수값) (0) | 2021.08.15 |
---|---|
c++ namespace 활용 및 구조체 내의 함수 예시 , 열혈c++ Chapter 03 문제 03-1 (0) | 2021.08.15 |
열혈c++ 문제 4-1 , 4-2 (0) | 2021.08.15 |
열혈c++ Chapter 04 문제04-3 (0) | 2021.08.15 |
열혈c++ 4-3 2번문제 (0) | 2021.08.15 |