Software Development 378

[C++] 생성자(Constructor)와 소멸자(Destructor)

- 생성자(Constructor)1234567891011121314class SimpleClass{private: int num;public: SimpleClass(int n) // 생성자(Constructor) { num = n; } int GetNum() const { return num; }};Colored by Color Scriptercs - 위 클래스의 SimpleClass()는 생성자(Constructor)이며, 아래와 같은 특징을 지닌다. 1) 클래스의 이름과 함수의 이름이 동일 2) 반환형이 선언되지 않으며, 실제로 반환되지 않는다. 3) 생성자(Constructor)는 객체 생성시 딱 한번만 호출된다. 4) 생성자도 함수의 일종으로 오버로딩이 가능하다. 5) 생성자도 함수의 일종으로 매..

[C++] 클래스(Class)와 객체(Object)

C++의 구조체 : http://huiyu.tistory.com/entry/C-C%EC%97%90%EC%84%9C%EC%9D%98-%EA%B5%AC%EC%A1%B0%EC%B2%B4?category=463903 - C++의 구조체는 클래스의 일종이다, 그러나 클래스와 구조체는 차이점을 갖고 있다. - 클래스와 구조체의 차이점 : 키워드 struct를 대신해서 class를 사용한다면, 구조체가 아닌 클래스가 된다. [구조체]1234567891011121314151617181920212223struct Car{ char gamerID[ID_LEN]; int fuelGaunge; int curSpeed; void SHowCartState() { ... } void Accel() { ... } void Break..

[C++] C++에서의 구조체

- 구조체란? : 구조체는 연관 있는 데이터를 묶을 수 있는 문법적 장치 C언어에서의 구조체 변수 선언 struct Car basicCar; struct Car simpleCar; -> 키워드 struct는 이어서 선언되는 자료형이 구조체를 기반으로 정의된 자료형임을 나타낸다.그러나 c++에서는 일반 변수와 같이 선언한다. Car basicCar; Car simpleCar; - 구조체 안에 함수 삽입 : C++에서는 구조체 안에 종속적인 함수들을 삽입하는 것이 허용된다. * 구조체에 종속적인 함수들은 구조체에 넣을 수 있다.123456789101112131415161718struct Car{ char gamerID[ID_LEN]; int fuelGaunge; int curSpeed; void SHowCa..

[C++] 참조자(Reference)와 함수

* Call-by-value & Call-by-reference - Call-by-value : 값을 인자로 전달하는 함수의 호출방식 - Call-by-reference : 주소 값을 인자로 전달하는 함수의 호출방식 - Call-by-value 함수 12345int Adder(int num1, int num2){ return num1+num2;} cs Call-by-value의 형태로 정의된 함수의 내부에서는, 함수외부에 선언된. 변수에 접근이 불가능하다. 따라서 두 변수에 저장된 값을 서로 바꿔서 저장할 목적으로 다음과 같이 함수를 정의하면 원하는 결과를 얻을 수 없다.123456789101112131415161718192021#include using namespace std; void SwapByV..

[C++] 참조자(Reference)의 이해

- 변수 : 변수는 할당된 메모리 공간에 붙여진 이름이다. 그리고 그 이름을 통해서 해당 메모리 공간에 접근 가능하다. 할당된 하나의 메모리 공간에 둘 이상의 이름을 부여할 수는 없을까? -> int &num2 = num1;* 위 코드는 num1이라는 이름이 붙어있는 메모리 공간에 num2라는 이름이 하나 더 붙게 된다. int *ptr = &num1; // 변수 num1의 주소 값을 반환해서 포인터 ptr에 저장 int &num2 = num,1; // 변수 num1에 대한 참조자 num2를 선언-> num2는 num1에 대한 '참조자'가 되며, num1이라는 메모리 공간에 num2라는 이름이 하나 더 붙은 꼴이 된다. 12345678910111213141516#include using namespace..

[C++] namespace & using

namespace : 말 그대로 특정 영역에 이름을 붙여주기 위한 문법적인 요소, 함수의 소속을 구분해주는 역할을 한다.같은 이름을 가진 함수나 변수더라도 소속, namespace에 따라 구분이 될 수 있다.1234567891011121314151617181920212223242526272829#include namespace BestComImpl{ void SimpleFunc(void);} namespace ProgComImpl{ void SimpleFunc(void);} int main(void){ BestComImpl::SimpleFunc(); ProgComImpl::SimpleFunc();} void BestComImpl::SimpleFunc(void){ std::cout

[C++] 인라인(inline) 함수

inline함수 -> 프로그램 코드라인 안으로 들어가 버린 함수 1. 매크로함수 장점 - 일반적인 함수에 비해 실행속도의 이점이 있다. - 단순 치환만 해주므로 인수타입을 신경쓰지 않아도 된다. - 여러개의 명령문을 동시에 포함할 수 있다. 단점 - 정의하기 어렵다. 복작한 함수를 매크로 형태로 정의하는데 한계가 있다.1234567#include #define SQUARE(X) ((X)*(X))int main(void){ std::cout