기반지식/C/C++2010. 6. 30. 22:18
☆ 상속과 오버라이딩

#include <iostream.h>
#include <string.h>

class Base
{
protected:
char name[10];
int age;
public:
Base(char *n="이승기", int a=20);
};

Base::Base(char *n, int a):age(a)
{
cout << "Base 생성자 호출\n";
strcpy(name, n);
}

////////////////////////////////////////////////////////////////

class Child:public Base // 부모클래스 Base에서 protected와 public 부분을 물려받아 자식 클래스 Child를
                            // 만든다.
{
public:
Child();
Child(char *n, int a);
void write();
};

Child::Child()
{
cout << "Child 생성자 호출\n";
}

Child::Child(char *n, int a)
{
strcpy(name, n);
age = a;
}

void Child::write()
{
cout << "이름 : " << name << "\n나이 : " << age << endl;
}

////////////////////////////////////////////////////////////////

void main()
{
Child ch;
Child ch2("한예슬", 30);

ch.write();
ch2.write();
}


--
Posted by windship