C++ 상속
![[C++] 다중 상속 (multiple inheritance)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPKx9Q%2FbtqAaUR7GYS%2FyYBpcpABgSDJHRoGEYdXpk%2Fimg.png)
[C++] 다중 상속 (multiple inheritance)
1. 핵심 정리 class InputFile { public: void read() {} void open() {} }; class OutputFile { public: void write() {} void open() {} }; class IOFile : public InputFile, public OutputFile { }; int main() { IOFile file; file.open(); // error file.InputFile::open(); // ok } ① 다중 상속 이란? (multiple inheritance) => 클래스가 2개 이상의 기반 클래스로부터 상속 되는 것 => C++, Lisp, Curl 등은 다중상속을 지원하지만 Java, C#등은 다중 상속을 지원하지 않는다. ② 다..
![[C++] 상속에서의 생성자 소멸자](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcdSd3G%2Fbtqz13BjBEg%2FlWGH0r0oqOYI2Vrksry6PK%2Fimg.png)
[C++] 상속에서의 생성자 소멸자
1. 상속에서의 생성자 소멸자 #include using namespace std; class Base { int data; public: Base() { cout
![[C++] 상속과 접근 지정자 (access specifiers)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdwdGFI%2FbtqzYrjzrbO%2FTaHl5k4VHQuuVrFEZrk0Q1%2Fimg.png)
[C++] 상속과 접근 지정자 (access specifiers)
1. 상속과 접근 지정자 (access specifiers) class Base { private: int a; public: int c; }; class Derived : public Base { }; int main() { Derived derv; derv.a = 10; // error derv.c = 10; // ok } 위 코드는 Base를 기반 클래스로 Derived클래스가 상속받았다. 따라서 Derived클래스에는 적혀있진 않지만 a와 c 멤버데이터가 있다. main함수에서 a와 c에 접근하려 하는데 c는 public이라 상관없지만 a는 private으로 외부에서 접근할 수 없으므로 에러가 난다. 그렇다면 다음 코드는 어떨까? class Base { private: int a; public: ..
![[C++] 상속](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVbumi%2FbtqzYLBUgbk%2FqORDHKksnJXERR7Eny5s3k%2Fimg.png)
[C++] 상속
1. 상속 #include #include class Professor { std::string name; int age; int major; }; class Student { std::string name; int age; int id; }; int main() { } 위의 코드에서 멤버 데이터인 name과 age가 중복되는것을 볼 수 있다. ① Student와 Professor의 공통의 특징을 모아서 Person 클래스를 설계한다. #include #include class Person { std::string name; int age; }; class Professor : public Person { int major; }; class Student : public Person { int id; }..