본문 바로가기

전체 글

(71)
[C++] 4-4 클래스 다중 상속 다중 상속 Child 클래스는 2개 이상의 parent 클래스로부터 상속받을 수 있다. 이를 다중 상속이라고 하며, 사용방법은 2가지가 있다. 아래 예제에서 자세한 사용 방법을 참고할 수 있다. 예제 1 #include using namespace std; class P1 {//부모 클래스 private: char* name; public: P1(char* n) {//생성자 name = n; } char* output() { return name; } }; class C1 : public P1 {//P1의 자식 클래스 private: int age; public: C1(char* n, int a) : P1(n) {//생성자, P1에 인수 n 전달 age = a; } int output_1() { retu..
[C++] 4-3 부모 클래스의 생성자 매개변수 전달 부모 클래스의 생성자 매개변수 Object가 생성될 때 생성자 함수에 매개변수를 전달하여 클래스의 데이터 멤버들을 초기화할 수 있다. 자식 클래스의 object가 생성될 때 부모 클래스와 자식 클래스의 생성자 함수에 매개변수를 전달할 수 있다. 그러나 부모 클래스의 생성자 함수에 매개변수를 전달하려면 이를 위한 연결고리가 형성되어 있어야 한다. 자식 클래스를 통해서 부모 클래스에 매개변수가 전달되도록 파생 클래스의 생성자 함수를 아래 예제와 같이 확장된 형식으로 선언하면 된다. 예제 #include using namespace std; class parent { private: int age; public: parent(int a) { cout
[C++] 4-2 상속 클래스의 생성자와 소멸자 상속 클래스의 생성자와 소멸자 Parent 클래스나 child 클래스는 모두 생성자 함수 또는 소멸자 함수를 멤버로 가질 수 있다. Parent 클래스와 child 클래스가 모두 생성자 함수와 소멸자 함수를 갖고 있는 경우에 생성자는 파생된 순서에 따라 호출되고, 소멸자는 파생된 역순으로 호출되어 실행된다. 즉, child class의 객체가 생성되면, 먼저 parent 클래스의 생성자 함수가 호출되고 child 클래스의 생성자 함수가 호출되어 실행된다. 반대로 생성된 child class 객체가 소멸되면, child class의 소멸자가 호출되고 parent class의 소멸자가 호출되어 실행된다. 예제 #include using namespace std; class parent {// Parent c..