//콘솔 프로그래밍
#include <iostream>
// 클래스 상속
// 코드 중복이 발생할 때 상속을 사용한다
// 코드가 중복이 될때
// 1. 함수로 묶는다
// 2. 클래스로 묶는다
// 3. #define
//
// 클래스 내부에 기본적으로는 private
// 외부에서 접근하기 위해서 getter setter(개념)를 쓰기 시작함
// 접근자 함수를 만들어서 함수 내부에서만 접근 가능하여 사용한다
class Actor
{
public:
float x;
float y;
public:
Actor(float x, float y)
{
this->x = x;
this->y = y;
}
void Move(float x, float y)
{
this->x += x;
this->y += y;
}
};
// Actor 부모 상위 클래스를 상속한다
// 데이터 + 기능을 물려 받는다
// 클래스 내부에 중복이 발생하면??
//
class Player : public Actor
//class Player : public Actor, , , , 다중 상속 - 왠만하면 쓰지마 ㅋㅋ
//JAVA나 C#에서는 다중 상속 안된다
{
public:
const char* name;
//float x;
//float y;
Player(const char* name)
: Actor(0.0f, 0.0f)
{
x = 0.0f;
y = 0.0f;
this->name = name;
}
//void Move(float x, float y)
//{
// this->x += x;
// this->y += y;
//}
void PrintName()
{
std::cout << name << std::endl;
}
};
int main()
{
Actor actor = Actor(0.0f, 0.0f);
actor.Move(3.0f, 2.0f);
actor.x = 0;
Player player = Player("Player");
player.PrintName();
player.Move(3, 3);
system("pause");
}
0 comments:
댓글 쓰기