0
저는 C++의 초보자입니다.이 작업을하기 위해 열심히 노력했지만, 그럴 수 없었습니다 ... 두 부분으로 된 "집 할당"입니다. 먼저 Interval 및 ColorInterval (지금은 중요하지 않음) 클래스를 수행해야했습니다. 이제 IntervalSet 클래스를 작성해야합니다. 아직 포인터와 연산자 오버로딩에 익숙하지 않아서 이것을 만들기 위해 몇 시간 씩 노력해 왔습니다 ...C++ 객체 + 연산자 오버로드에 대한 포인터의 동적 배열
그래서 정수형 클래스가 있습니다. 여기에 모든 수입 코드가 있습니다.
class Interval {
protected:
double start;
double end;
public:
Interval(double start, double end) : start(start), end(end) {}
Interval(Interval& copy)
{
this->start = copy.start;
this->end = copy.end;
}
~Interval() {}
virtual void Print()
{
cout << "[ " << start << ", " << end << " ]" << endl;
}
};
나는 수 있도록 한 것을 :
는- 간격
생성자 객체를 저장할 수있는 IntervalSet 클래스 : 숫자 - 동적이 많은 포인터를 할당 할 수>는 간격
개체를 한에class IntervalSet : public Interval { private: int size; Interval** store; public: IntervalSet(int size) : size(size) { this->store = new Interval*[this->size]; } ~IntervalSet() { delete[] store; }
그리고 여기에는 앤 온다 oying 부분, 3 연산자 과부하.
연산자 + =
- 는 파라미터로서주기 객체에 대한 포인터를 취득는 이전에 추가 제거합니다
operator--
- 어레이로의 복사본을 둔다 배열의 요소 + 메모리 처리
에서 인쇄 기능 저장된 간격 인쇄 0
연산자 < <
- 심지어 단지 + = 상기 ostream에를 operator--을 시도하지 않았다. 그리고 여러 가지 방법으로 시도했기 때문에 삽입 할 수 없으며 삽입 할 항목을 결정할 수 없기 때문에 ... : D 그게 다행입니다. 누군가가 나를 도울 수 있기 때문에 수업에 실패하지 않을 것입니다. : D
가능한 복제 [? 연산자 오버로딩에 대한 기본 규칙 및 숙어은 무엇] (https://stackoverflow.com/questions/4421706/을 나머지를 알아낼 수 기본 규칙 및 관용구 오버로드에 대한 기본 규칙) – user463035818