【发布时间】:2017-11-18 22:36:34
【问题描述】:
我是 C++ 的初学者,我已经非常努力地让它工作,但我不能...... 这是一个两部分的“家庭作业”。首先,我必须做 Interval 和 ColorInterval(现在没关系)类。现在我要做这个 IntervalSet 类。 我对指针和运算符重载还不是很擅长,我已经尝试了几个小时来做到这一点......
所以我有一个整数类。这是其中的所有重要代码。
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;
}
};
我要做什么:
- 一个可以存储Interval对象的IntervalSet类
-
构造函数:一个数字 -> 它必须动态分配这么多指向 Interval 对象的指针
class IntervalSet : public Interval { private: int size; Interval** store; public: IntervalSet( int size ) : size(size) { this->store = new Interval*[this->size]; } ~IntervalSet() { delete[] store; }
烦人的部分来了,3 运算符重载。
操作员+=
- 它获取一个指向 Interval 对象的指针作为参数并将其副本放入数组中
操作员--
- 它从数组中删除先前添加的元素 + 内存处理
运营商
- 使用 Interval 类中的 Print 函数打印存储的间隔
我什至没有尝试过运算符--,只是 += 和 ostream。 而且我无法插入它们,因为我尝试了许多不同的方式并且无法决定插入哪一种......:D 就是这样,希望有人可以帮助我,我不会失败。 :D
【问题讨论】:
标签: c++ pointers operator-overloading