我想像下面的代码那样重载指针副本。
我尝试了很多事情,但没有找到方法...
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!
}
答案 0 :(得分:2)
但是,我想重载此指针复制运算符!
您不能。指针分配将始终采用内置操作。您不能重载内置类型的任何运算符-包括指针,甚至如果指向类类型的指针-都将始终使用内置分配。