2009년 02월 15일
연습문제 7-2
#include <iostream>
using std::endl;
using std::cout;
class Person
{
protected:
int age;
char* name;
public:
Person(){}
Person(int _age, char* _name);
Person(const Person& p);
~Person();
int GetAge() const;
const char* GetName() const;
};
Person::Person(int _age, char* _name){
age=_age;
name=new char[strlen(_name)+1];
strcpy(name, _name);
}
Person::Person(const Person & p)
{
age=p.age;
name=new char[strlen(p.name)+1];
strcpy(name, p.name);
}
Person::~Person()
{
delete []name;
}
int Person::GetAge() const {
return age;
}
const char* Person::GetName()const
{
return name;
}
class Student : public Person
{
char *major;
public:
Student(int _age, char* _name, char* major);
Student(const Student& s);
~Student();
const char* GetMajor() const;
void ShowData()const;
};
Student::Student(int _age, char* _name, char* _major) : Person(_age, _name)
{
major=new char[strlen(_major)+1];
strcpy(major, _major);
}
Student::Student(const Student& s){
age=s.age;
name = new char[strlen(s.name)+1];
strcpy(name, s.name);
major=new char[strlen(s.major)+1];
strcpy(major, s.major);
}
Student::~Student()
{
delete []major;
}
const char* Student::GetMajor() const
{
return major;
}
void Student::ShowData() const
{
cout<<"이름 : "<<name<<endl;
cout<<"나이 : "<<age<<endl;
cout<<"전공 : "<<major<<endl;
}
int main(void)
{
Student Hong1(20, "Hong gil dong ", "computer");
Hong1.ShowData();
Student Hong2=Hong1;
Hong2.ShowData();
return 0;
}
# by | 2009/02/15 15:33 | 내맘대로 C++!! | 트랙백 | 덧글(0)



