반응형

2024/12/13 15

[C++] 후위형 증감연산자 오버로딩 시 주의사항

const Point operator++ (int){ // ...} 1. 매개변수 위치에 int를 넣어준다. 이는 후위형 증감연산자 오버로딩이라는 약속이며 int라고 해서 특별히 정수형과 관련 있는것은 아니다.​int가 없으면 전위형 증감연산자 오버로딩이 된다.​​​2. 반환형을 const 객체로 한다.​이는 Point pos; 라고 객체를 생성했을 때 (pos++)++; 와 같은 연산을 막기 위해서이다.​++(++pos);는 허용이 되지만 (pos++)++; 는 허용되지 않는 문법이다.

C++/Study 2024.12.13

[C++] C++의 형변환 연산자

1. dynamic_cast(변환 대상)​상속관계에 놓여 있는 두 클래스 사이에서 자식 클래스의 포인터 및 참조형 데이터를 기초 클래스의 포인터 및 참조형 데이터로 형 변환하는 경우class Car{ // ...}class Truck : public Car{ // ...}int main(void){ Car *pcar1 = new Truck(); Truck ptruck1 = dynamic_cast(pcar1); // 컴파일 에러 Car *pcar2 = new Car(); Truck *ptruck2 = dynamic_cast(Truck *>(pcar2); // 컴파일 에러 Truck *ptruck3 = new Truck(); Car *pcar3 = dynamic_cast(ptruck3); // 컴파일 OK ..

C++/Study 2024.12.13

[C++] 증감연산자(전위형 후위형)

전위형 연산자는 변수의 값이 사용되기 전에 먼저 1이 증가한 후 사용이 되고 후위형 연산자는 변수의 값이 사용되고 나서 그 다음에 1이 증가한다. 이는, ++x는 x += 1;x;로 치환되고 (x의 값을 먼저 증가시킨 후 x를 사용함) x++는 x;x += 1;로 치환된다고 생각하면 보다 쉽게 이해할 수 있다. (x를 먼저 사용하고 그 다음에 x의 값을 증가시킴) 예를 들어 x는 4로 초기화되어 있고 cout 가 있다고 한다면 위에 설명한 방법대로 치환하면 x += 1;cout 이 되고 4에서 1이 증가한 출력을 하므로 먼저 5가 출력되고 다시 1을 더한 후에 출력 하니 6이 출력되어 결과적으로 5와 6이 출력됨을 알 수 있다. 다음으로 후위연산자를 보면 마찬가지로 x는 4로 초기화되어 있다고 가정하고 ..

C++/Study 2024.12.13

[C++] 함수 오버로딩

출처 - http://cafe.naver.com/cppmaster/2601​작성자 : 강석민(smk6809@yahoo.co.kr)출처 : cafe.naver.com/cppmaster, cafe.naver.com/ioacademy// 마음 대로 퍼 가셔도 되지만 출처는 반드시 밝혀 주시기 바랍니다.​​​함수 오버로딩 ( Function Overloading )​C++은 아주 복잡한 언어입니다. C가 가진 대부분의 것을 지원 하려고 했고, 추가로 객체 지향과 Generic 기법을 지원 하므로서 괴물처럼 커져 버린 언어입니다.​때문에 많은 분들이 C++로 입문 할 때 어려움을 겪고 있습니다.​하지만 C++이 어려운 만큼 C++을 어느정도 잘하게 되면 Java, C# 등의 새로운 언어를 아주 쉽게 배울수 있습니..

C++/Study 2024.12.13

[C++] namespace

출처 - http://cafe.naver.com/cppmaster/1175​​6.1 Namespaces 원리와 역사적 배경6.1.1 Namespaces 이면에 존재하는 원리​Namespaces는 1995년에 C++ 표준으로 도입되었다.​우선 왜 namespaces가 언어에 추가되었는지를 이해하기 위해서, 여기에 하나의 비유가 있다.​당신의 컴퓨터에 있는 파일시스템이 디렉토리들과 서브디렉토리들을 전혀 가지지 않는다고 상상하자.​모든 파일들은 항상 모든 사용자와 애플리케이션에게 보여지는 단순한 저장소에 저장될 것이다.​결론적으로, 극단적인 어려움들이 발생할 것이다.​파일이름들이 충돌 할 것이고(몇몇 시스템들은 파일 이름을 8개의 문자로 제한하고 + 확장자들을 3개의 문자들로 제한하고서도 이것은 빈번히 발생할..

C++/Study 2024.12.13
반응형