일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 파이썬
- 자바스크립트 객체
- 자바스크립트
- Oracle SQL
- javascript
- 자바스크립트 jQuery
- 보안뉴스요약
- 자바스크립트 기본 문법
- 카카오프로젝트100
- 자바스크립트 prototype
- 깃허브
- php
- 자바스크립트 element api
- 카카오프로젝트 100
- oracle
- 보안뉴스
- oracle db
- ES6
- 보안뉴스 한줄요약
- 자바스크립트 node
- 오라클
- python
- numpy
- 랜섬웨어
- 보안뉴스한줄요약
- 카카오프로젝트
- 자바스크립트 API
- 다크웹
- 보안뉴스 요약
- GIT
- Today
- Total
목록Programming/C++ (11)
FU11M00N
가상 함수(virtual function) virtual 키워드로 선언된 멤버 함수이다. virtual 키워드의 의미는 아래와 같다. - 동적 바인딩 지시어 - 컴파일러에게 함수에 대한 호출 바인딩을 실행 시간까지 미루도록 지시하는 역할을 한다. 함수 오버라이딩(function overriding) 파생 클래스에서 기본 클래스의 가상 함수와 동일한 이름의 함수 선언 - 기본 클래스의 가상함수의 존재감을 상실시킨다. - 파생 클래스에서 오버라이딩한 함수가 호출되도록 동적 바인딩 - 함수 재정의라고도 부른다. - 다형성의 한 종류이다. 오버로딩 : 같은 클래스 내에서 이름이 같은 것. 추상 클래스 추상 클래스를 얘기하기 전에, 순수 가상함수를 먼저 설명해보겠다. 순수 가상 함수 함수의 코드가 없고, 선언만 ..
C++ 에서 상속이란? 클래스 사이에서의 상속관계를 정의하는 것이다. 기본 클래스의 속성과 기능을 파생 클래스에 물려주는 것이다. + 기본 클래스 -> 상속해주는 클래스. 부모 클래스 + 파생 클래스 -> 상속받는 클래스. 자식 클래스 클래스를 상속하게 되면 얻는 이점 1. 클래스 간결하게 작성 2. 클래스 간의 계층적 분류 및 관리 용이 상속관계의 생성자와 소멸자 실행 질문 1: 파생 클래스의 객체가 생성 될 때 파생 클래스의 생성자와 기본 클래스의 생성자가 모두 실행되나요? 답 1: 네 둘 다 실행됩니다. 질문 2: 파생 클래스의 생성자와 기본 클래스 생성자 중 어떤 생성자가 먼저 실행되나요? 답 2: 기본 클래스의 생성자가 먼저 실행됩니다. #include using namespace std; cl..
프렌드함수 : 클래스의 멤버 함수가 아닌 외부함수 : 전역 함수 : friend 키워드로 클래스 내에 선언된 함수 : 클래스의 멤버로 선언하기에는 무리가 있는, 클래스의 모든 멤버를 자유롭게 접근할 수 있는 일부 외부 함수를 작성 할 때 필요하다. 클래스의 모든 멤버를 접근할 수 있는 권한이 부여된다. 프렌드 함수가 되는 세가지 : 전역함수 - 클래스 외부에 선언된 전역 함수 : 다른 클래스의 멤버 함수 - 다른 클래스의 특정 멤버함수 : 다른 클래스 전체 - 클래스의 모든 멤버 함수 1. 외부함수 equals() 를 Rect 클래스의 프렌드로 선언하는 것 class Rect{ friend bool equals(Rect r, Rect s); } #include using namespace std; cla..
- 함수 중복 동일한 이름의 함수가 공존하는 것이다. 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 ..
Tic-Tca-Toe게임은 2명의 경기자가 오른쪽과 같은 보드를 이용하여서 번갈아가며 0과 X를 놓는 게임입니다. 같은 글자가 가로, 세로 , 혹은 대각선 상에 놓이면 이기게 됩니다. void print_array() 함수는 게임의 board를 출력해줍니다. boll win() 함수는 가로,세로,대각으로 놓여있는 플레이어가 있는지 검사하고 있다면 true를 반환해 게임을 종료시킵니다. 사용자는 x,y 좌표를 입력하여 각각 'O'와 'X'를 놓아 게임을 진행합니다. 사용자 1,2를 판단하기 위해 ping_pong 변수를 선언하여 말을 놓을 때마다 ping_pong 변수에 0 혹은 1을 번갈아 넣어줘서 플레이어를 구분합니다. 만약 게임이 승부가나지않는다면 무승부를 출력합니다. #include using na..
list 배열에 있는 한개의 문자열이 랜덤으로 str 변수에 들어감. 문자를 하나씩 입력하면서 문자를 맞춰나가는 게임. 아래는 코드와 결괏값입니다. #include #include #include #include using namespace std; int main() { srand(time(NULL)); char ch; string list[]= {"apple","bear","banana","happy"}; int r =rand()%5; string str = list[r]; cout
#include #include #include using namespace std; class Bank{ private: string name; string account_number; int password; int sum=0; public: void membership_registration(string name1, string account_number1, int password1); void deposit(int money, Bank *bps); void withdrawal(int money, Bank *bps); void balance_check(); void off(); }; void Bank :: membership_registration(string name1, string account..
#include #include using namespace std; class TV{ private: int channel_num; public: void channel_up(); void channel_down(); void channel_on(); void channel_print(); void channel_off(); TV(int num); ~TV(); }; void TV :: channel_up(){ channel_num=channel_num+1; cout