728x90

1) c++ 클래스 디자인하기

#include <iostream>
using namespace std;

class Calculator {
private: //멤버변수
//    double a;
//    double b;
// 얘네들은 함수의 입력으로 바로 정의되는 거지, 멤버함수에서 생성하거나 입력하는 것이 아님

    int add; //멤버변수는: Class의 함수를 통해 직접 생성하거나, 값을 입력하거나, 조작할 대상
    int min;
    int mul;
    int div;

public: //멤버함수
    void Init();
    double Add(double a, double b);
    double Min(double a, double b);
    double Mul(double a, double b);
    double Div(double a, double b);
    void ShowOpCount();
};

inline void Calculator::Init(){
    add = 0;
    min = 0;
    mul = 0;
    div = 0;
}

inline double Calculator::Add(double a, double b){
    add ++;
    return a + b;}

inline double Calculator::Min(double a, double b){
    min ++;
    return a - b;}

inline double Calculator::Mul(double a, double b){
    mul ++;
    return a*b;}

inline double Calculator::Div(double a, double b){
    div ++;
    return a / b;}

inline void Calculator::ShowOpCount() {
    cout<<"덧셈: "<<add<<" "<<"뺄셈: "<<min<<" "<<"곱셈: "<<mul<<" "<<"나눗셈: "<<div<<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;
}

/*3.2 + 2.4 = 5.6
3.5 / 1.7 = 2.05882
2.2 - 1.5 = 0.7
4.9 / 1.2 = 4.08333
덧셈: 1 뺄셈: 1 곱셈: 0 나눗셈: 2*/

 

2) 멤버변수 개념 다시 ~!

멤버변수는: Class의 함수를 통해 직접 생성하거나, 값을 입력하거나, 조작할 대상 (e.g. int add;)

- 함수의 입력으로 바로 정의되는 변수는, 클래스의 멤버변수로 선언하지 않음 (e.g. double a;)

 

3) 디자인 개괄 보기

(1) 클래스

class 클래스명 {

private:

      멤버변수 정의

public:

      멤버함수 정의 //이때 함수 정의까지 포함하면 클래스 구조가 너무 길어질 수 있으므로, 상속을 유지하되 inline 통해 클래스 밖으로 빼기

      //말 그대로 '선언;'만 하기

}

 

(2) 클래스 함수 - inline으로 정의

inline 자료형 클래스명::멤버함수(  ) {

함수 정의 ~ ~ ~ }

 

** 클래스 정의할 때는 괄호 따로 쓰지 않음

** 함수 정의할 때는 괄호 따로 씀. input이 반드시 있어야 하면, "자료형 input명"의 형태로 채우고, 아니면 공란으로 비워둠.

728x90

+ Recent posts