[c++] 상속이란 무엇인지는 아는데, 어떻게 쓰는 것인가?
1.
딱 상속하면 될것 같은 구조가 있는데, 내가 상속을 모른다.. 대략적인것 뿐 몰라서
c++에서 사용하는 방법을 익힌다.
2.
여기에 소스가 있다. ( http://blog.naver.com/sealclear?Redirect=Log&logNo=20187633452 )
한번 실험을 해보자.
#include <iostream>
using namespace std;
class account { int acc_num; int balance; char name[20]; public : account(int _acc_num, int _balance, char * _name) { acc_num = _acc_num; balance = _balance; strcpy(name, _name); }
void showdata() { cout << "계좌 : " << acc_num << endl; cout << "잔액 : " << balance << endl; cout << "이름 : " << name << endl; } };
class laccount : public account //account 상속 { int credit; int credit_rate; public : laccount(int an, int b, char * n, int c, double cr) : account(an, b, n) //생성자는 상속 안됨 { credit = c; credit_rate = cr; }
void showdata() { account::showdata(); cout << "한도 : " << credit << endl; cout << "신용도 : " << credit_rate << endl; } };
int main() { laccount acc1(100, 5000, "김삼순", 2000, 1.0); acc1.showdata(); } |
3.
위의 소스에서 account에 함수중에 public을 private로 하면 에러가 뜬다.
그럼 protected로 해보자. 이건 된다. 옥히.
4.
이제 변수를 한번 살펴보자.
상속이 될 클래스에 이것 저것 넣은 후 생성자에서 출력하는걸 해봤는데 되더라.
내가 이상하던 모양과 동일하다.
추가적으로 예측하기론 ' : ' 이 모양은 상속되는 클래스를 호출하는 것이다.
그리고 클래스 이름을 적고 :: 을 붙인 후에 사용하면 된다.