본문 바로가기

IT 관련자료/C++

클래스코드와 헤더파일

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