C ++指针复制重载

时间:2018-10-21 05:53:30

标签: c++ overloading

我想像下面的代码那样重载指针副本。
我尝试了很多事情,但没有找到方法...

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 :(得分:2)

  

但是,我想重载此指针复制运算符!

您不能。指针分配将始终采用内置操作。您不能重载内置类型的任何运算符-包括指针,甚至如果指向类类型的指针-都将始终使用内置分配。