Main.cpp
#include"Calc.h"
using namespace std;
int main()
{
Calc cal(10);
cal.add(10).sub(1).mult(2).print();
Calc(10).add(10).sub(1).mult(2).print();
return 0;
}
Calc.h
#pragma once // 헤더가드, 중복정의 되는걸 막아주는 편리하고 고마운 친구
#include <iostream>
class Calc
{
private:
int _value;
public:
Calc(int value_in);
Calc& add(int value);
Calc& sub(int value);
Calc& mult(int value);
void print();
};
//클래스 밖에서 함수를 선언할 때는 이런식으로(참고용)
//Calc& Calc::add(int value)
//{
// _value += value;
// return *this;
//}
Calc.cpp (계산기능 함수들 정의된 곳)
#include "Calc.h"
Calc::Calc(int value_in)
:_value(value_in)
{}
Calc& Calc::add(int value)
{
_value += value;
return *this;
}
//inline 함수에 대한 개념 다시 정리
inline Calc& Calc::sub(int value)
{
_value -= value;
return *this;
}
Calc& Calc::mult(int value)
{
_value *= value;
return *this;
}
void Calc::print()
{
using namespace std;
cout << _value << endl;
}
'IT 관련자료 > C++' 카테고리의 다른 글
class - 정적 맴버 변수(static) (0) | 2022.02.25 |
---|---|
클래스와 const (0) | 2022.02.25 |
this 포인터와 연쇄호출 (0) | 2022.02.24 |
소멸자(생성자 (constructor)의 반대개념) (0) | 2022.02.24 |
위임생성자 (0) | 2022.02.24 |