● public 상속
: 그냥 그대로 상속된다
● protected 상속
: public 멤버들은 protected 접근 지정으로 변경되어 파생 클래스에 상속 확장된다.
● private 상속
: protected, public 멤버들은 모두 private 접근 지정으로 변경되어 파생 클래스에 상속 확장된다.
● 다중 상속
: 예제만 보면 이해 될 듯( , 로 여러개의 부모 클래스 표시 )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include <iostream> using namespace std; class Adder { protected: int add(int a, int b) { return a+b; } }; class Subtractor { protected: int minus(int a, int b) { return a-b; } }; class Calculator : public Adder, public Subtractor { // 다중 상속 public: int calc(char op, int a, int b); }; int Calculator::calc(char op, int a, int b) { int res=0; switch(op) { case '+' : res = add(a, b); break; case '-' : res = minus(a, b); break; } return res; } int main() { Calculator handCalculator; cout << "2 + 4 = " << handCalculator.calc('+', 2, 4) << endl; cout << "100 - 8 = " << handCalculator.calc('-', 100, 8) << endl; } | cs |