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
'개발 > c++' 카테고리의 다른 글
[c++] 함수 오버로딩 (0) | 2023.09.05 |
---|---|
[c++] 문자열과 포인터 (0) | 2023.09.05 |
[c++] 인라인 함수의 효용 (3) | 2023.09.04 |
[c++] Call by value vs Call by reference (0) | 2023.09.03 |
[c++] 메모리의 세 가지 영역 : 데이터, 스택, 힙 (0) | 2023.09.03 |