클래스와 구조체의 유일한 차이점은 무엇입니까?
– 구조체 키워드 대신 클래스를 사용하면 구조체가 아닌 클래스가 된다. 즉, 다음 코드는 클래스의 정의입니다.
Class Car
{
char gamerID(ID_LEN);
int fuelGauge;
int curSpeed;
void ShowCarState() ...
void Accel() ...
void Break() ...
};
기존 구조를 선언하는 방법
자동차 basicCar = { “말리뷰”, 100, 10};
클래스 내에서 선언된 함수가 아닌 범위의 변수를 초기화하려고 했기 때문에 불가능합니다.
기본적으로 클래스에 선언된 변수는 클래스에 선언된 함수에서만 액세스할 수 있습니다.
따라서 다음과 같이 선언해야 합니다.
자동차 기본자동차;
액세스 표시기(액세스 제어 레이블)
C++에는 총 3개의 액세스 제어 지시문이 있습니다.
– 공개: 어디에서나 액세스 허용
– protected: 상속 관계에 있을 때 파생 클래스에서 접근 허용
-private: 클래스 내에서만 접근 허용
ps 접근제어 지시자는 특정 위치 정보를 알려주는 ‘라벨’이기 때문에 접근제어 지시자 뒤에 :을 붙인다. 아시다시피 switch 문에서 사용하는 case도 레이블이므로 :를 추가합니다.
용어: 멤버 변수, 멤버 함수
멤버 변수: 클래스를 구성하는 변수(클래스 내).숫자
– char gamerID(CAR_CONST::ID_LEN);
– int fuelGauge;
– int carSpeed;
멤버 함수: 클래스를 구성하는 함수(클래스 내)
– void InitMemver(char * ID, in fuel);
– 무효 ShowCarState();
– 무효 Accel();
– 무효 Break();