본문 바로가기

Programming/C++17

[ C++ ] 상속의 개념 | 상속 예제 C++ 에서 상속이란? 클래스 사이에서의 상속관계를 정의하는 것이다. 기본 클래스의 속성과 기능을 파생 클래스에 물려주는 것이다. + 기본 클래스 -> 상속해주는 클래스. 부모 클래스 + 파생 클래스 -> 상속받는 클래스. 자식 클래스 클래스를 상속하게 되면 얻는 이점 1. 클래스 간결하게 작성 2. 클래스 간의 계층적 분류 및 관리 용이 상속관계의 생성자와 소멸자 실행 질문 1: 파생 클래스의 객체가 새엇ㅇ될 때 파생 클래스의 생성자와 기본 클래스의 생성자가 모두 실행되나요? 답 1: 네 둘 다 실행됩니다. 질문 2: 파생 클래스의 생성자와 기본 클래스 생성자 중 어떤 생성자가 먼저 실행되나요? 답 2: 기본 클래스의 생성자가 먼저 실행됩니다. #include using namespace std; cl.. 2021. 5. 18.
[ C++ ] 프렌드함수 || 연산자 중복 || 프렌드함수 예제, 연산자 중복 예제 프렌드함수 : 클래스의 멤버 함수가 아닌 외부함수 : 전역 함수 : friend 키워드로 클래스 내에 선언된 함수 : 클래스의 멤버로 선언하기에는 무리가 있는, 클래스의 모든 멤버를 자유롭게 접근할 수 있는 일부 외부 함수를 작성 할 때 필요하다. 클래스의 모든 멤버를 접근할 수 있는 권한이 부여된다. 프렌드 함수가 되는 세가지 : 전역함수 - 클래스 외부에 선언된 전역 함수 : 다른 클래스의 멤버 함수 - 다른 클래스의 특정 멤버함수 : 다른 클래스 전체 - 클래스의 모든 멤버 함수 1. 외부함수 equals() 를 Rect 클래스의 프렌드로 선언하는 것 class Rect{ friend bool equals(Rect r, Rect s); } #include using namespace std; cla.. 2021. 5. 11.
[ C++ ] 함수 중복(Function Overloading) 함수 중복 동일한 이름의 함수가 공존하는 것이다. function overloading 이라고도 한다. 함수 중복 성공 조건 중복된 함수들의 이름이 동일해야한다. 중복된 함수들의 매개 변수 타입이 다르거나 개수가 달라야한다. 리턴타입은 함수 중복과 무관하다. 오버로딩 예시 #include #include using namespace std; int big(int a, int b) { if (a > b) { return a; } else { return b; } } int big(int a[], int size) { int res = a[0]; for (int i = 1; i < size; i++) { if (res < a[i]) { res = a[i]; } return res; } } int main().. 2021. 5. 4.
[ C++ ] 객체 포인터와 객체 - string 클래스 find() | C++ 행맨 게임 find() 찾을 문자열과 어디서부터 찾을 것인지에 대한 인덱스를 인자로 받는 함수이다. #include #include using namespace std; int main() { char c = 'A'; string str = "Apple pear"; int x = str.find("p", 0); int y = str.find("p", 3); cout a; int startindex = 0; int x = 0; int count = 0; while (true) { x = str4.find(a, startindex); if (x != -1) { startindex=x+1; ++count; } else { break; } } cout 2021. 4. 13.