Перегрузка копирования указателя C ++ - PullRequest
0 голосов
/ 21 октября 2018

Я хочу перегрузить копию указателя, как показано ниже.
Я много чего пробовал, но не нашел пути ...

template <typename T>
Class Test {
private:
    T* obj;
public:
    inline Test<T>& operator= (const Test<T>& other) {
    }
    inline Test<T>* operator= (const Test<T>* other) {
    }
    inline Test<T> operator= (const Test<T> other) {
    }
    ...
}
int main() {
    Test *a, *b;
    a = new Test;

    // *b = *a; // I know how to overload this copy
    b = a;   // But, I want to overload this pointer copy operator!
}

1 Ответ

0 голосов
/ 21 октября 2018

Но я хочу перегрузить этот оператор копирования указателя!

Вы не можете.При назначении указателя всегда используется встроенная операция.Вы не можете перегрузить любой оператор для встроенных типов - включая указатели, даже , если они указывают на тип класса - вместо этого всегда будет использоваться встроенное присваивание.

...