클래스 생성자 클래스 생성자는 객체 생성시 반드시 한번 호출되는 함수이다. 클래스와 같은 이름의 함수로 리턴형이 없으며 리턴하지도 않는다. 생성자가 필요한 이유는 객체를 생성하는 동시에 초기화시키기 위함이다. 객체는 생성과 동시에 초기화되는 것이 좋은 구조이다. class Person { public: int age; int money; Person(.. C 언어 개열/C++ 2010.08.25
클래스 선언과 클래스 구현 C언어의 특성 상 컴파일 하기 전에 전처리기 과정을 거친다. 따라서 선언과 구현하는 부분을 분리하여 따로 파일로 작성할 수 있다. 선언하는 파일을 헤더파일이라고 하며, 헤더파일의 확장자는 .h를 가진다. 구현을 담당하는 파일을 소스파일이라고 하며 .cpp 확장자를 가진다. 헤더 파일에 클래스의 .. C 언어 개열/C++ 2010.08.25
C++ 객체지향 기초 C에서 C++로 넘어갈 때 가장 중요한 역할을 한 것이 구조체이다. C언어의 구조체는 관련 있는 데이터를 하나의 자료형으로 묶을수 있다. 따라서, 함께 움직이는 데이터들을 묶어주는 효과를 가짐으로써 프로그램의 구현 및 관리가 용이해진다. ▲ C언어의 구조체 struct Person { int age; char name[10]; } int main() .. C 언어 개열/C++ 2010.08.22
Call by Value 와 Call by Reference C언어와 마찬가지로 C++에서도 함수에 매개변수를 전달할 때 Call by Value 와 Call by Reference 두 가지 방법이 있는데, C++은 Call by Reference 에서 포인터를 이용한 방법과 레퍼런스를 이용한 방법 두 가지 방법으로 분류된다. C++ 의 Call by Reference 방법에 대해 알아보자. 1. Call by value Call by Value는 C언어와 마찬가.. C 언어 개열/C++ 2010.08.22
포인터(Pointer) 변수와 레퍼런스(Reference) 변수의 이해 포인터란 메모리의 주소를 가리키는 변수로 32비트 환경에서 4바이트의 크기를 가진다. 포인터는 주소(Address)와 타입(Type)으로 구성되며 특별한 연산자를 사용하여 접근한다. 포인터 연산자 * (Dereference Operator) & (Address of Operator) 포인터를 사용하면 메모리에 접근하는 프로그래밍이 가능하기 때문에 Low-.. C 언어 개열/C++ 2010.08.19
const 키워드와 메모리 영역 const 키워드 const 키워드로 선언하는 변수는 선언과 동시에 값을 할당해야 하며, 값을 할당한 후에는 읽기만 가능하고 값을 변경할 수는 변수가 된다. const int n = 10; const int * n; // 데이터 상수화, 포인터를 통해 데이터를 변경하는 것을 막음 int * const n; // 포인터 상수화, 포인터 값을 변경하는 것을 막음.. C 언어 개열/C++ 2010.08.19
using 키워드와 전역변수 접근방법 using 키워드 using 키워드는 namespace 로 선언된 부분의 함수나 변수에 접근할 때 좀 더 쉽게 접근하기 위한 방법을 제공하는데 사용법은 다음과 같다. using a::function; using namespace a; using a:function 은 namespace a 안에 있는 function 함수를 호출할 때 그냥 function 이라는 이름만으로 호출하겠다라는 뜻. using namespace.. C 언어 개열/C++ 2010.08.19
이름공간(Namespace) 이름공간은 프로그램 소스 코드에 이름을 부여하는 방법이다. 아래와 같이 함수명이 같은 함수가 복수로 있다면 컴파일러 오류가 발생한다. #include <iostream> int fun() { return 10; } int fun() { return 20; } int main() { std::cout << fun() << std::endl; return 0; } 같은 이름의 함수를 사용했기 때문에 컴파일러 .. C 언어 개열/C++ 2010.08.19
디폴트(Default) 매개변수와 인라인 함수 디폴트(Default) 매개변수 디폴트 매개변수는 전달되지 않은 인자를 대신하기 위한 기본 값이 설정되어 있는 변수이다. #include <iostream> int fun(int a=10){ return a; } int main() { std::cout << fun() << ", "<< fun(5) << std::endl; return 0; } 위의 코드를 실행하면 10, 5가 출력된다. 즉, 함수의 매개변수를 .. C 언어 개열/C++ 2010.08.19
함수 오버로딩(function overroding) 함수 오버로딩이란 동일한 이름의 함수를 중복해서 정의하는 것이다. 함수 오버로딩이 가능한 이유는 매개 변수의 개수 혹은 타입을 통해 함수를 구분하기 때문이다. 함수 오버로딩이 가능한 이유 호출할 함수를 매개 변수의 정보까지 참조해서 호출 함수의 이름 + 매개변수의 정보 #include <iostream>.. C 언어 개열/C++ 2010.08.18