CPP (31) 썸네일형 리스트형 [C++] 파일 분할 기준 파일명.h - 클래스의 선언을 담는다.파일명.cpp - 클래스의 정의(멤버함수의 정의)를 담는다.클래스의 선언이란...class Car{private : char gamerID[CAR_CONST::ID_LEN]; int fuelGauge; int curSpeed;publid : void InitMembers(char *ID, int fuel); void showCarState(); void Accel(); void Break();}; 위 처럼 컴파일러가 클래스와 관련된 문장의 오류를 잡아내는데 필요한 최소한의 정보를 포함한 클래스를 구성하는 외형적인 틀을 말한다.그리고 이어서 클래스의 정의는...위 클래스의 선언부에 선언되어 있는 함수들을 정의하는 것이 클래스의 정의이다. [C++] 이니셜라이저(Initializer) 이니셜라이저를 이용하면 선언과 동시에 초기화가 이뤄지는 형태로 바이너리 코드가 생성된다. 이러한 특성 때문에 const 변수와 참조자도 초기화가 가능하다. [C++] C++ 스타일의 초기화 (묵시적 형변환) int num = 20;int &ref = num;위와 같은 방식의 선언 및 초기화는 C++에서int num(20);int &ref(num);과 같은 방식으로 선언 및 초기화가 가능하다.마찬가지로AAA class2 = class1;AAA class2(class1);도 동일한 의미로 해석이 된다.이는 사실AAA class2 = class1;이 아래와 같이 묵시적으로 변환이 되어서AAA class2(class1);객체가 생성되는 것이다.따라서 복사 생성자에 의해서 초기화가 이루어지며 복사 생성자 앞에 explicit 키워드를 붙이면 묵시적 변환이 일어나지 않아서AAA class2 = class1; 과 같은 방식으로는 초기화가 안되고AAA class2(class1); 과 같은 방식으로만 초기화가 가능.. [C++] 복사 생성자가 호출되는 시점 case1 : 기존에 생성된 객체를 이용해서 새로운 객체를 초기화하는 경우 case2 : Call-by-value 방식의 함수호출 과정에서 객체를 인자로 전달하는 경우 case3 : 객체를 반환하되, 참조형으로 반환하지 않는 경우 즉, 객체를 새로 생성하되 생성과 동시에 동일한 자료형의 객체로 초기화하는 경우에 복사 생성자가 호출된다. [C++] 메모리 공간의 할당과 초기화가 동시에 일어나는 상황 첫번째,int num1 = num2; 두번째,int SimpleFunc(int n){ // ...}int main(void){ int num = 10; SimpleFunc(num); // 함수가 호출되는 순간 매개변수 n이 할당과 동시에 초기화 // ...} 세번째,int SimpleFunc(int n){ // ... return n; // 반환하는 순간 메모리 공간이 할당되면서 동시에 초기화}int main(void){ int num = 10; cout [C++] static 멤버변수의 초기화 방법 class Simple{public : static int simObjCnt;}; int Simple::simObjCnt = 0;여기에서 맨 앞 int는 static 멤버변수의 자료형즉, (멤버변수의 자료형) (클래스명)::(멤버변수 명) = 0; 의 방식으로 초기화 시킨다. [C++] 오버로딩이 불가능한 연산자의 종류 연산자설명.멤버 접근 연산자.*멤버 포인터 연산자::범위 지정 연산자?:조건 연산자 (3항 연산자)sizeof바이트 단위 크기 계산typeidRTTI 관련 연산자static_cast형변환 연산자dynamic_cast형변환 연산자const_cast형변환 연산자reinterpret_cast형변환 연산자 [C++] 멤버함수 기반으로만 오버로딩이 가능한 연산자 연산자설명=대입 연산자()함수 호출 연산자[]배열 접근 연산자(인덱스 연산자)->멤버 접근을 위한 포인터 연산자 이전 1 2 3 4 다음