c++(72)
-
[C++] 가상함수를 써서 플레이어를 생성하는 함수를 호출해보자
#include #include using namespace std; struct Class { void virtual Attack() { cout
2022.06.13 -
[C++] 구조체/생성자와 소멸자/동적할당/동적배열/상속/가상함수
/* 학습목차 1. 구조체 2. 생성자와 소멸자 3. 동적할당 4. 동적배열 5. 상속 6. 가상함수 */ #include #include using namespace std; // 구조체 // 직접 만드는 쓰는 서로다른 데이터타입의 집합체 // 기능(멤버함수)과 속성(멤버변수)을 지닌 사용자 정의의 데이터타입 struct Monster { string name; int hp; int atk; void SetInfo(string _name, int _hp, int _atk) { name = _name; hp = _hp; atk = _atk; } void ShowInfo() { cout
2022.06.13 -
[C++] 구조체 만들고, 상속해보고, 오버로딩, 오버라이딩 및 가상함수 구현해보기
#include #include using namespace std; // 1. 부모구조체 : Family / 자식구조체 : Parents, Child 만들고 상속 struct Family { string name; int age; Family() { } Family(string _name, int _age) { name = _name; age = _age; } void SetInfo(string _name, int _age) { name = _name; age = _age; } // 6. 부모의 멤버함수에 virtual 키워드를 붙여 가상함수로 만든 뒤 다시 호출 void virtual ShowInfo() { cout
2022.06.10 -
[C++] 28. 가상함수
#include #include using namespace std; // 가상함수(virtual method) // 가상함수는 부모 클래스에서 상속받을 클래스에서 재정의할 것으로 기대하고 정의해놓은 함수 // virtual이라는 예약어를 함수 앞에 붙여서 생성할 수 있다 // 이렇게 생성된 가상함수는 파생 클래스에서 재정의하면 이전에 정의되었던 내용들은 모두 새롭게 정의된 내용들로 교체됩니다. struct SchoolMember { string name; int id; SchoolMember() { } SchoolMember(string _name, int _id) { name = _name; id = _id; } void SetInfo(string _name, int _id) { name = _nam..
2022.06.10 -
[C++] 27. 상속의 오버라이딩
*오버로딩(Overloading) : 같은 이름의 함수(메서드) 여러개를 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술로 다양한 유형의 호출에 응답할 수 있게됩니다. *오버라이딩(Overriding) : 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용하는 것으로 ' ' 부모클래스의 메서드는 무시하고, 자식 클래스의 메서드 기능을 사용하겠다'와 같습니다. #include #include using namespace std; // 오버라이딩 // 상위 클래스에 정의된 메서드와 같은 메서드를 하위 클래스에 정의하는 것 // 서드의 내용만 새로 작성하는 것 // 메서드의 선언부는 상위 클래스의 메서드와 완전히 일치해야 한다. // 즉, 반환형, 메서드명, 매개변수 개수, 매개변수 자료형..
2022.06.10 -
[C++] 상속 : 부모 몬스터 <--- 자식 드래곤
#include #include using namespace std; struct Monster { string name; int hp; int atk; int isChase; Monster(string _name, int _hp, int _atk, bool _isChase) { name = _name; hp = _hp; atk = _atk; isChase = _isChase; } void Attack() { cout
2022.06.10