분류 전체보기 검색 결과
이유 1. public 계승이 isa를 의미하기 때문이다. 해결 방법 아래 예를 통해 어떤 뜻인지 이해 해라. class Person { .... }; class Student : public Person { .... }; is a 관계이므로 1. 학생은 사람이다. (참) 2. 사람은 학생이다. (거짓) 이게 왜 중요하냐면 void dance(const Person& p); // 사람은 춤을 출수 있다. void study(const Student& s); // 학생만 공부한다. Person p; // 사람 등장 Student s; // 학생 등장 dance(p); // 참 dance(s); // 참, 왜냐하면 학생은 사람이니까! study(p); // 거짓, 사람은 학생이 아니니까, 즉 학생만 공부한다..
이유 1. 사소한것만 수정해서 확인하려 하는데 너무 많은 컴파일 시간이 소비된다. 해결 방법 1. 파일간의 의존성을 최소화 한다. (제목 그대로다.. 정보는 많으므로 검색해서 기술을 익히면 된다.) 개인적 생각 Effective C++ 에서 많이 이야기 하려고 한거 같은데, 후반부에 가서 이해가 안간다. 구글에서 "파일간의 컴파일 의존성" 라고 치면 무수히 나오니 그걸 보면 .. Effective C++ 보다 더 자세히 설명 된게 많다.. 그걸 보고 파악!
[BOOL vs. bool] 참과 거짓을 나타내는 방법이 C와 C++에서 다릅니다. C 언어는 대문자 BOOL 자료형을 사용하고 C++는 소문자 bool 자료형을 사용합니다. 둘 다 참과 거짓을 표현하기 위해 만들었지만, 내부는 완전히 다르고 호환되지 않습니다. 일단 BOOL 자료형이 C 언어에는 없습니다. 대문자 BOOL 자료형을 사용하려면 typedef를 통해 재정의해야 합니다. typedef int BOOL; 이제 int와 BOOL은 같은 자료형이 되었고, BOOL 자료형을 사용할 수 있습니다. 문제는 BOOL 자료형의 근본이 int 자료형이기 때문에 2나 3의 값도 잘 받아들인다는 것입니다. 앞서 말했듯이 항상 거짓인 0과 비교해야 하는 이유입니다. 여기에 대문자 TRUE와 FALSE를 사용하기 ..
최근댓글