|
#include <iostream.h>
class Car {
protected:
int serialNum;
int speed;
public:
Car(int num, int s);
virtual void speedUp();
virtual void showData();
};
Car::Car(int num, int s)
{
serialNum = num;
speed = s;
}
void Car::speedUp()
{
speed++;
}
void Car::showData()
{
cout << "Car 클래스" << "\n";
cout << "번호 : " << serialNum << "\n";
cout << "속력 : " << speed << "\n";
}
class CyberCar : public Car
{
public:
CyberCar(int num, int s);
void speedUp();
void showData();
};
CyberCar::CyberCar(int num, int s) : Car(num, s)
{
}
void CyberCar::speedUp()
{
speed += 10;
}
void CyberCar::showData()
{
cout << "CyberCar 클래스" << "\n";
cout << "번호 : " << serialNum << "\n";
cout << "속력 : " << speed << "\n";
}
class SeoCar : public Car
{
public:
SeoCar(int num, int s);
void speedUp();
void showData();
};
SeoCar::SeoCar(int num, int s) : Car(num, s)
{
}
void SeoCar::speedUp()
{
speed += 20;
}
void SeoCar::showData()
{
cout << "SeoCar 클래스" << "\n";
cout << "번호 : " << serialNum << "\n";
cout << "속력 : " << speed << "\n";
}
void main()
{
CyberCar cybercarObj(1001, 100);
SeoCar seocarObj(1002, 50);
Car *carPtr;
carPtr = &cybercarObj;
carPtr->speedUp();
carPtr->showData();
carPtr = &seocarObj;
carPtr->speedUp();
carPtr->showData();
}
------위 프로그램 소스를 세부 메모리 맵으로 나타내면 16단계 나온다는데 ㅡㅡ;
도무지 감이 안잡히네요.... 쫌 도와주세요~ 공부가 하고싶어요ㅋ
|