본문 바로가기

C++

(29)
[C++] this 포인터 this 포인터란? this 포인터는 작성 중인 클래스의 실제 인스턴스에 대한 주소를 가리키는 포인터이다. 즉, 객체가 자기 자신을 가리키는 포인터이다. #include using namespace std; class myClass { public: myClass(int x, int y) { this->x = x; this->y = y; } void Print() { cout
[C++] 클래스와 메소드 클래스란? 클래스란 객체 지향 프로그래밍에서, 데이터와 그 조작 절차인 메소드를 정리한 객체의 추형을 정의한 것이다. 메소드란? 메소드(Method)는 어떤 작동을 구현하고 요청 서비스를 수행할 수 있도록 만들어진 단일 요구 메시지. 객체지향(Object-Oriented)은 사람(사용자)관점에서 접근하는 프로그래밍 개발 방법이다. 클래스의 기본 형태는 다음과 같다. class 클래스이름 { 접근제어지시자: 멤버변수선언; 멤버함수선언및정의; }; 클래스에는 생성자라는 것이 있다. 생성자는 클래스이름과 똑같고 객체 선언시 자동 호출된다는 점을 꼭 기억해야한다. 자동 호출된다는 점에서 멤버변수 초기화 하기에 좋다. 초기화하는데는 다양한 방법이 있다. 다음은 생성자 초기화 목록을 이용한 초기화 방법이다. cla..
[C++] 네임스페이스(Namespace) 네임스페이스란? 네임스페이스는 변수, 함수, 클래스 등을 그룹화하는 문법이다. namespace 예약어를 이용해 다음과 같은 형태로 사용한다. namespace 이름 { ... } 이름은 그룹의 이름 정도가 되겠다. #include using namespace std; namespace MYSPACE { int num = 10; void myFunc(void) { cout
[C++] 오버로딩(Overloading)과 템플릿(Template) 오버로딩이란? C++은 C와 다르게 함수 다중 정의를 지원한다. 함수의 이름이 같더라도 매개변수가 달라지면 다른 함수가 된다. #include using namespace std; int Add(int num1, int num2, int num3) { return num1 + num2 + num3; } int Add(int num1, int num2) { return num1 + num2; } double Add(double num1, double num2) { return num1 + num2; } int main() { cout
[C++] 디폴트 매개변수 C++ 디폴트 매개변수에 대해서 알아보자 매개변수가 있는 함수 호출 시 C에서는 반드시 매개변수를 넘겨줘야 하지만 C++에서는 디폴트 매개변수라는 것이 있다. #include using namespace std; int TestFunc(int num = 10) { return num; } int main() { cout