C++

C++에서 객체를 생성할 때, 대입 연산자를 사용하지 않고 리스트의 형식으로 초기화 하는 방법이 존재합니다. 이를 우리는 생성자 초기화 리스트 라고 부릅니다 예시를 보여드리겠습니다. class Player { private: string name{}; int health{}; int xp{}; public: // Constructor Player(string name_val, int health_val, int xp_val); }; Player::Player(string name_val, int health_val, int xp_val) : name{name_val}, health{health_val}, xp{xp_val} {} 하지만 입력하는 사람이 모든 값을 입력하지 않을 수 있기 때문에 우리는 오버..
OOP를 사용하다보면, 한 프로젝트 내에서 다수의 헤더 파일과 cpp파일을 만들게 됩니다. 이 때 우리는 cpp 파일 내부에서, include "header_name.h" 의 형태로 우리는 헤더 파일을 사용하게 됩니다. 하지만 cpp 파일이 다수가 되면서, 한가지 헤더를 다수의 cpp 파일에서 중복 포함하게 될 경우가 발생할 수 있습니다. 이를 우리는 중복 정의 문제 라고도 부릅니다. 이런 형태는 컴파일 오류를 유발합니다. (현대 C++ 컴파일러들은 이를 방지하기 위한 내부 메커니즘이 존재합니다만, 당연히 애초에 이러한 오류들을 방지하는 것이 우선입니다.) 그렇게 하기 위해서, 두가지 전처리문을 사용하는 방법이 존재합니다. 1. #ifndef, #define, #endif #ifndef, #define,..
아시다시피 클래스에는 속성 attributes 와 메소드 methods 가 존재합니다. 이것들을 클래스 멤버 라고 부르는데요, 클래스 멤버들에 접근하기 위해서는 어떻게 해야 할까요? 바로 각 객체들의 이름 뒤에 dot operator(.) 를 사용합니다. 은행 계좌 관리용 Account 클래스를 통해 ricky_account라는 객체를 만들었습니다. 그리고 ricky_account.balance, ricky_account.deposit(double)으로 각각 속성과 메소드를 호출하였습니다. Account ricky_account; ricky_account.balance; ricky_account.deposit(1000.00); 그렇다면 동적으로 만들어진 객체에 대해서는 어떻게 할까요? 두가지 방법이 있습..
OOP의 핵심인 클래스와 객체는 각각 무엇일까요? Class | 클래스 클래스는 '객체들의 청사진' 입니다. 또한 클래스는 '사용자가 지정한 자료형' 입니다. 마치 우리가 사용하던 정수나 실수 자료형처럼 사용할 수 있는 데이터입니다. (클래스의 선언 방식을 보면 더욱 이해가 될 것 입니다.) 클래스에는 attributes(속성) 들이 있는데, 그것이 우리가 아는 '값 (data)' 과 동일한 역할입니다. 그리고 methods(메소드) 들도 있는데, 이것은 우리가 사용하던 '함수 (function)' 와 동일한 역할입니다. 또한 클래스들은 클래스의 내부적으로만 사용되는 용도의 함수(메소드)와 값(속성) 들을 가지고 있을 수 있습니다. 그리고 이들을 숨길 수 있습니다. 이러한 개념들은 public / pri..
Ricky U. Lee
'C++' 카테고리의 글 목록 (5 Page)