포인터변수(5)
-
[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++] 18. 구조체변수의 포인터 vs 정수형변수의 포인터
구조체를 이전에 배웠다. 구조체는 직접 만들어서 쓰는 데이터 타입이라고 한다. 마치 도장을 찍는 것처럼 구조체와 배열을 써서 실습을 해봤다 문제는 지금부터다 '함수라는 기능을 써서 배열의 반복문을 좀 더 효율적으로 써볼 수 있지 않을까'라는 접근으로 함수를 호출해보기로 한다 그리고 구조체 포인터변수와 정수형변수의 포인터변수를 비교해볼것이다. 1. #include #include using namespace std; // 함수의 기능을 써서 구조체를 만들고 싶다 struct Student { string name; int age; int id; }; void PrintInfo(Student target) { cout
2022.05.31 -
[C++] 13. 포인터변수
#include using namespace std; void main() { int num = 10; // 포인터변수 : 주소를 담는 변수 cout
2022.05.30