C++/상속의 이해

상속의 기본개념 예제

빛나는 미래 2012. 3. 21. 23:18

//==========================헤더파일====================================
#include <iostream>

using std::cout;
using std::endl;

class Person
{
 int age;
 char* name;

public:
 int Getage()const
 {
  return age;
 }
 char *GetName()const
 {
  return name;
 }
 Person (int _age=1,char* _name="noname"){
  age=_age;
  name = new char[strlen(_name)+1];
  strcpy(name,_name);
 }
 Person (const Person& p)
 {
  age=p.age;
  name = new char[strlen(p.name)+1];
  strcpy(name,p.name);
 }
 ~Person()
 {
 delete []name;
 }
 void showdata()
 {
  cout<<age<<' '<<name<<endl;
 }
};
class Student : public Person
{
 char* major;
public:
 Student(char* _major)
 {
  major = new char[strlen(_major)+1];
  strcpy(major,_major);
 }
 const char *Getmajor()const
 {
  return major;
 }
 void showdata()const
 {
  cout<<"이름 : "<<GetName()<<endl;
  cout<<"나이 : "<<Getage()<<endl;
  cout<<"전공 : "<<Getmajor()<<endl;
 }
};

//======================main.cpp================================================
#include "basic_Inheril.h"

int main()
{
 Person P(36,"phg");
 P.showdata();
 Student Kim("Computer");
 Kim.showdata();
 return 0;
}