[문제]
아래의 실행결과와 main함수를 참고하여 Person class와 UnivStudent class를 정의하라.
조건1) UnivStudent 는 유도 클래스로, Person은 기초 클래스로 정의하라.
조건2) 동적 할당을 사용하라.
int main(void)
{
UnivStudent ust1("Kim", "Mathematics");
ust1.WhoAreYou();
UnivStudent ust2("Yoon", "Physics");
ust2.WhoAreYou();
return 0;
}
[실행결과]
My name is Kim
My major is Mathematics
My name is Hong
My major is Physics
[코드]
#include<iostream>
using namespace std;
class Person
{
private:
char* name;
public:
Person(const char* myname)
{
name = new char[strlen(myname) + 1];
strcpy(name, myname);
}
~Person()
{
delete[]name;
}
void WhatYourName() const
{
cout << "My name is " << name << endl;
}
};
class UnivStudent : public Person
{
private:
char* major;
public:
UnivStudent(const char* myname, const char* mymajor)
:Person(myname)
{
major = new char[strlen(mymajor) + 1];
strcpy(major, mymajor);
}
~UnivStudent()
{
delete[]major;
}
void WhoAreYou() const
{
WhatYourName();
cout << "My major is " << major << endl << endl;
}
};
int main(void)
{
UnivStudent ust1("Kim", "Mathematics");
ust1.WhoAreYou();
UnivStudent ust2("Yoon", "Physics");
ust2.WhoAreYou();
return 0;
}
<참고>
윤성우의 열혈 C++ 프로그래밍
'C++ 언어 > 연습문제' 카테고리의 다른 글
C++언어 연습문제34 (0) | 2022.11.12 |
---|---|
C++언어 연습문제33 (0) | 2022.11.12 |
C++언어 연습문제31 (0) | 2022.11.11 |
C++언어 연습문제30 (0) | 2022.11.11 |
C++ 언어 연습문제29 (0) | 2022.11.10 |