C++

클래스와 구조체의 유일한 차이점은 무엇입니까?

– 구조체 키워드 대신 클래스를 사용하면 구조체가 아닌 클래스가 된다. 즉, 다음 코드는 클래스의 정의입니다.

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();