typeid2 [C++] 상속과 RTTI 상속과 RTTI 함수가 인자로 기반 클래스의 포인터를 받으면 - 기반 클래스 뿐 아니라 모든 파생 클래스를 전달 받을 수 있다. 기반 클래스 포인터로 파생 클래스의 고유 멤버에 접근 할 수 없다. - 파생클래스의 고유 멤버에 접근하려면 파생 클래스 타입으로 캐스팅 (다운 캐스팅, downcasting) 해야 한다. #include #include class Animal {}; class Dog : public Animal { public: int color; }; void foo(Animal* p) { // p가 Dog 이라면 p->color = 10; // error } int main() { Animal a; foo(&a); Dog d; foo(&d); } 아래와 같이 p는 Animal 클래스 형태로.. 2021. 12. 30. [C++] 변수 선언 : uniform initialize, auto, decltype, using c++ 변수 선언하는 방법 #include struct Point { int x = 0; int y = 0; // c++11 부터 구조체 멤버 초기화 가능해짐. }; int main() { //if ( 1 ) {} // c언어에서는 첫줄부터 변수 선언이 모두 된 이후에 코드를 넣어줬어야 했음. int n = 0; // c++에서는 중간에 변수 선언을 해도 문제없음. //struct Point pt; Point pt; // struct 사용하지 않고 바로 Point 클래스명으로 변수 선언 가능 int n1 = 0b10; // 2진수 표기법 (c++11 부터 지원) int n2 = 1'000'000; // 자릿수 표기법 (c++11 부터 지원) 사람이 읽기 좋게 하려고 사용됨. bool b = true; /.. 2021. 8. 6. 이전 1 다음