ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C++] 클래스의 사용 관계, 포함 관계
    C++/class 2022. 7. 1. 09:33

     

    사용 관계

    클래스 A의 멤버 함수에서 클래스 B의 멤버 함수들을 호출한다.

    💡클래스 B의 멤버 함수를 호출하려면 클래스 B의 객체를 가지고 있어야 한다.

     

    ClassA::func(){
    ClassB obj;
    obj.func();
    ...
    }

     

    포함 관계

    하나의 객체 안에 다른 여러 객체들이 포함될 수 있다.

    클래스는 다른 클래스의 객체를 멤버로서 가질 수 있다.

     

    
    #include <iostream>
    #include <string>
    
    using namespace std;
    
    
    // ================시간 클래스 생성================
    class Time{
    private:
        int hour;
        int minute;
        int second;
        
    public:
        Time();      //묵시적 생성자
        Time(int h, int m, int s);      //명시적 생성자
        void print();
    };
    
    Time::Time(){
        hour = 0;
        minute = 0;
        second = 0;
    }
    
    Time::Time(int h, int m, int s){
        hour = h;
        minute = m;
        second = s;
    }
    
    void Time :: print(){
        cout << hour <<"시" << minute <<"분" << second <<"초" << endl;
    }
    
    
    
    // ================알람 클래스 생성================
    class AlarmClock{
    private:
        Time currentTime;       // Time의 객체 생성
        Time alarmTime;         // Time의 객체 생성
    public:
    AlarmClock(Time t1, Time t2);
    void print();
    };
    
    AlarmClock::AlarmClock(Time t1, Time t2){
        currentTime = t1;
        alarmTime = t2;
    }
    
    void AlarmClock::print(){
        cout << "현재 시각: ";
        currentTime.print();
        
        cout << "알람 시각: ";
        alarmTime.print();
    }
    int main(){
        Time alarm(6,0,0);
        Time current(12,56,42);
        AlarmClock c(alarm, current);
        
        c.print();
        return 0;
    }

    'C++ > class' 카테고리의 다른 글

    [C++] 상속과 생성자/소멸자  (0) 2022.07.08
    [C++] friend 함수와 연산자 중복  (0) 2022.07.05
    [C++] 객체 배열  (0) 2022.07.01
    [C++] 객체의 동적 생성  (0) 2022.07.01
    [C++] ⭐️복사 생성자가 호출되는 경우  (0) 2022.07.01
Designed by Tistory.