목록전체 글 (102)
Automotive Software
상속 (Inheritance) : 기존 클래스의 속성을 새로운 클래스 기본 속성으로 사용하는 것 파생 (Derivation) : 상속된 속성에 새로운 속성을 추가하여 클래스를 생성하는 것 // class 클래스_명 : 파생형 베이스_클래스_명 e.g) class myClass : public myBaseClass 접근 명시자 (Access specifier) public : 멤버 함수와 변수를 클래스 외부에서 접근 가능 private : 멤버함수와 변수를 클래스 외부에서 접근 불가능 protected : 멤버함수와 변수를 클래스 외부에서 접근 불가능하나 파생된 클래스에서는 가능 생성자와 소멸자 실행 순서 베이스 클래스 생성자 -> 신규 클래스 생성자 -> 신규 클래스 소멸자 -> 베이스 클래스 소멸자 상..
C++에서 내장형 데이터 타입에 대한 연산 외에 클래스(사용자 정의 타입)에 대한 연산을 가능하게 하는 문법 C를 기반으로 생각해보면 동일 구조체 타입 변수들의 멤버 간 연산을 위해 멤버 접근을 위한 함수를 만들거나 멤버 접근 연산자를 사용하여 일일이 접근방식을 기술하여야 함 중첩 가능한 연산자들 : 아래의 연산자를 제외한 대부분 연산자의 중첩 가능함 The operators :: (scope resolution), . (member access), .* (member access through pointer to member), and ?: (ternary conditional) cannot be overloaded.(추가 내용 확인은 여기서) 범위 지정 연산자, 멤버 접근 연산자, 멤버 접근 포인터 ..
클래스의 멤버변수 초기화는 보통 해당 클래스의 생성자에서 수행되며, 내부 위치는 생성자의 초기화 단계 생성자 매개 변수 목록 마감 괄호 뒤 콜론 써줌 다음 줄에 멤버 변수들의 이름과 괄호를 써줌, 괄호 내에 초기화 값(변수) 명시 생성자 몸통 내부로 나눌수 있음 class cMyClass { public: cMyClass(); cMyClass(int inVal1, int inVal2); ~cMyClass(){} private: memVar1; memVar2; }; #if EITHER_USE_THIS // 몸통 내부에서의 초기화 cMyClass::cMyClass() { memVar1 = 1; memVar2 = 2; } #else // 초기화 단계에서 예시 1 cMyClass::cMyClass(): memV..
멤버함수 기본값 선언 비클래스 함수의 기본값 선언 방식과 같은 법칙 적용 아래와 같이 함수 선언 시 기본값 선언, 예, bool takeInitVal = false; 선언된 또는 전달된 기본값을 토대로 전달받은 값을 사용할지 생성자에 의해 할당된 초기값을 사용할지 결정하도록 구현할 수 있음 class cMyClass { public: cMyClass(int initMemVar1, int initMemVar2); ~cMyClass(){} void memFunc(int inVal1, int inVal2, bool takeInitVal = false); private: int memVar1; int memVar2; }; cMyClass::cMyClass(int initMemVar1, int initMemVar..
아래의 절차에 따라 우선 디버그 설정이 필요 Run -> Debug Configuration C/C++ Application -> Right click -> New Configuration Project : search for your project in the file system 파일 시스템 상에 위치한 프로젝트 폴더 명시 C/C++ Application : search for the binary file which is compiled and linked already and will be debugged 파일 시스템 상에 위치한 디버깅 대상 실행 이미지 명시 Apply -> Debug 상기 절차를 수행하고 나면 아래와 같이 디버그 모드창에서 해당 설정을 선택 가능 Lunch the Debug mo..