본문 바로가기

프로그래밍

C++ 문법 - 재귀함수 재귀함수는 내부에서 자기 자신을 호출하는 함수를 의미합니다.return을 만나 함수가 종료되기 전에 먼저 다시 호출된 함수를 실행하고 그 뒤에 첫 번째로 실행된 함수를 마저 실행합니다. 이를 이용해 다음과 같이 사용할 수 없습니다. 1234567891011121314151617181920#include using namespace std; int test(int a){ if (a == 0) { cout 더보기
C++ 문법 - 오버로딩 파라매터의 형식과 개수에 따라 서로 다른 함수 또는 메소드가 됩니다. 1. 함수 오버로딩 1234567891011121314151617181920212223242526#include using namespace std; void test(){ cout 더보기
C++ 문법 - 상속 접근제어 변경 12345678910111213class A{public: int a;protected: int b;private: int c;}; class B : public A {};class C : protected A {};class D : private A {};cs A를 서로 다른 접근제어자로 상속 받은 3개의 자식 클래스가 있습니다.각각의 접근제어자는 어떤 역할을 할까요? 상속 시 접근제어자는 자신보다 범위가 더 큰 접근상태를 자기자신으로 바꿉니다.(public > protected > private) 말로는 어려우니 예제를 통해 알아보겠습니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444.. 더보기
C++ 문법 - 소멸자 123456789101112131415161718192021222324252627282930313233#include using namespace std; int i_start = 1; class Test{public: int number = 0; Test() { cout 더보기
C++ 문법 - 생성자 12345678910111213141516171819202122232425262728#include using namespace std; int i_start = 1; class Test{public: int number = 0; Test() { cout 더보기
C++ 기초 문법 - 클래스의 상속 class 자식 : public 부모 {...}; 이렇게 부모 클래스를 상속 받은 자식 클래스를 만들 수 있습니다.상속을 하게 되면 public과 protected 상태의 맴버변수와 메소드를 이어 받습니다. 예제에서 학생 클래스는 메소드 걷기, 먹기, 상속를 적지 않아도부모 클래스인 사람 클래스의 것을 그대로 상속 받아 사용할 수 있습니다. 12345678910111213141516171819202122232425262728293031323334#include using namespace std; class 사람{public: void 걷기() { } void 먹기() { }protected: void 상속() { }private: int 몸무게; int 키; void 다이어트() .. 더보기
C++ 기초 문법 - 클래스의 접근상태 클래스는 변수와 함수를 가질 수 있습니다.각각의 이름을 맴버변수, 메소드 라고 부릅니다. 맴버변수와 메소드는 3가지 접근상태로 나뉩니다. public, protected, private 자기 자신 가족 (부모-자식) 제3자 public O O O protected O O X private O X X 123456789101112131415161718192021222324#include using namespace std; class 사람{public: void 걷기() { } void 먹기() { }protected: void 상속() { }private: int 몸무게; int 키; void 다이어트() { }}; int main(){ 사람 세한; 세한.걷기(); 세한.먹기(); return 0;}cs .. 더보기
C++ 기초 문법 - 클래스 객체지향의 꽃이자 기본 클래스입니다. 클래스는 객체를 만들기 위해 미리 설정되어 있는 형식이라고 생각하시면 됩니다.붕어빵이 객체라면 클래스는 붕어빵 틀이라고 보시면 됩니다. class 클래스명 {...};이렇게 클래스를 정의하고 함수 내에서 '클래스명 객체명;'로 객체를 만들 수 있습니다. 그동안 만들어온 변수와 함수가 있습니다.클래스에도 마찬가지로 변수와 함수를 만들 수 있습니다.하지만 그 명칭 앞에 맴버(member)가 붙습니다.맴버 변수와 맴버 함수(메소드 method) 그 이유에 대한 이야기는 중요하지 않으니 이렇게 부른다는 점만 알고 넘어가면 될 것 같습니다. 123456789101112131415161718#include using namespace std; class 사람{pu.. 더보기
C++ 기초 문법 - 함수 코딩을 하다보면 노가다성 작업이 많아집니다.이를 해결하기 위해 반복문이 생겼습니다. 그리고 함수도 생겼습니다. 함수를 사용하지 않은 코드를 한 번 보겠습니다. a라는 변수가 100이라는 값을 가지고 실행되는 코드와b라는 변수가 200이라는 값을 가지고 실행되는 코드와c라는 변수가 300이라는 값을 가지고 실행되는 코드가 있습니다. 1234567891011121314151617181920212223242526272829303132#include using namespace std; int main(){ int i; int a = 0; for (i = 0; i 더보기
C++ 기초문법 - 연산자 추가 컴퓨터는 0과 1을 가지고 판단을 내리는 기계입니다.이를 통해 참과 거짓을 구분합니다. true 출력 : 1false 출력 : 0 0이 아닌 모든 값 : true0 : false !는 참과 거짓을 반대로 바꿔줍니다.10번 라인은 아직 이해할 수 없겠지만수학에서 쓰던 부호를 생각해서 예상해보세요. !true : false (0)!false : true (1) ============================================== 여기서부터 연산자에 대해 알아봅니다.연산 결과로 true나 false를 반환하는 연산자들을 쉽게 이해하려면'~인가?'라고 생각하시면 됩니다. 우리는 일상생활에서 =(이퀄) 기호를 양쪽의 값이 같다는 용도로 사용했습니다.하지만 컴퓨터는 = .. 더보기