-
[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