C++

C++/C++

[C++] Rule of three

Rule of three : 이 규칙은 다음 중 하나라도 클래스에서 정의한다면, 아마도 반드시 모두 정의해야 할 것이라 주장합니다: 소멸자 (Destructor) 복사 생성자 (Copy Constructor) 복사 대입 연산자 (Copy Assignment Operator) ●C++는 다음과 같은 멤버 함수를 자동으로 제공한다. (더 있지만, Rule of three에 쓰이는 것만 설명하겠다) 디폴트 소멸자(파괴자) : 객체의 모든 클래스 타입 멤버의 소멸자를 호출합니다. 복사 생성자 : 객체의 모든 멤버를 복사 생성자의 인수로부터 해당 멤버의 복사 생성자를 호출하여 생성하며, 비-클래스 타입 (예: int나 포인터와 같은)의 데이터 멤버에는 평범한 대입을 수행합니다. 복사 대입 연산자 : 객체의 모든 ..

C++/C++

Overloading

●funcion Overloading : name mangling , static Polymorphism(컴파일 시간에 결정되기 때문) ●Operator Overloading : 연산자 오버로딩 ●algorithm의 sort에 객체를 사용시 대소 관계는 operator

C++/C++

12. 클래스와 동적 메모리 대입, +추가 필요

◆static 클래스 멤버 static 클래스 멤버는 그 클래스의 모든 객체가 공유한다. static 기억 공간에 저장된다. 클래스 선언 바깥에서 별개의 구문을 사용하여 독립적으로 초기화해주어야 한다. 초기화 선언은 메서드 구현 파일(cpp)에 넣는다. ※ static 멤버가 정수형이나 열거형의 const이면 클래스 선언 자체에서 초기화할 수 있다. enum { INT = 10 } 같은 상수 표현을 대체한다. ◆생성자에서 new를 사용하여 메모리를 대입했을 때는, 대응하는 파괴자에서 delete를 사용하여 그 메모리를 해제해야 한다. ◆프로그램에서 하나의 객체를 다른 객체로 초기화하면, 컴파일러는 복사 생성자라고 부르는 생성자를 자동으로 발생시킨다. ◆◆특별 멤버 함수 ▷C++는 다음과 같은 멤버 함수를..

C++/C++

11. 클래스의 활용

◆연산자 오버로딩 연산자를 오버로딩하는것을 뜻한다. int의 덧셈과 string의 덧셈은 구체적으로 다르나 이를 피연산자로 구분하는 오버로딩을 사용함으로 쓰기 용이하게 해준다. ●연산자 함수의 형식은 다음과 같다. operatorop(argument-list)//op는 오버로딩할 연산자를 나타내는 기호이다. operator+() op는 오버로딩할 연산자를 나타내는 기호이다. 단, op는 적법한 C++ 연산자여야 한다. @와 같은 없는 연산자를 넣으면 안된다. ◆Price 라는 클래스를 가지고, a와 b가 모두 Price 이라면 Price c = a + b;//연산자 표기 Price c = a.operator+(b);//함수 표기 ◆연산자 오버로딩 선언시 형식 class Time { public: Time..

메카인
'C++' 카테고리의 글 목록 (3 Page)