助けてください、二重連結リストで演算子 ++ のオーバーロードを実現してください。私はAとBの2つのクラスを持っています。
class A {
private:
int h;
int a;
public:
A *next, *prev;
friend A operator ++(A &, int);
};
A operator ++(A &t, int) {
A temp = t;
temp.h++;
temp.a++;
return temp;
}
class B {
private:
A *head, *tail;
public:
void incValue();
};
void B::incValue() {
while(head != nullptr) {
head++;
head = head -> next;
}
}
メソッド incValue() head = NULL を実行した後、これが機能しない理由がわかりません。
PS このコードは eq でなければなりません。ヘッド++
head -> setH(head -> getH() + 1);
head -> setA(head -> getA() + 1);