c++中指针操作符可以重载吗?
Can pointer operators be overloaded in C++?
可以为类指针重载操作符=
吗?这个例子试图重载指针'Cutie*'的'operator =':
class Cutie
{
public:
int Krait;
Cutie() : Krait(0)
{
}
};
Cutie* operator = (Cutie* p, Cutie* q)
{
if(p == 0)
{
if(0 < Krait)
Krait--;
}
else
Krait++;
}
上面的定义有错误。我正在寻找一个定义计数指针赋值:
Cutie c;
Cutie* p = 0;
p = &c;
现在'p -> Krait'应该是'1'。
不能,不能使用只接受指针作为参数的非成员重载操作符函数:
操作符函数要么是非静态成员函数,要么是非成员函数,并且至少有一个形参的类型是类、类的引用、枚举或枚举的引用。
相关文章:
- C++指针复制重载
- 如何在基类指针向量的元素上应用重载的多态函数
- 从纯虚拟类 (A) 派生的指针无法访问来自纯类 (B) 的重载方法
- 错误:表达式必须具有算术、无作用域枚举或带有运算符重载的指针类型
- 指向重载静态成员的函数指针 - 在unique_ptr中用作自定义删除器
- 重载 ostream << 运算符,指针作为参数,导致输出上的内存地址
- 使用类指针重载C++命名空间函数模板专用化替代方法?
- 类重载运算符 '<' 插入指向该对象集的共享指针时不调用
- 使用继承的指针列表复制构造函数或重载运算符=
- 为指针重载运算符++
- 如何从模板类重载创建的指针对象上的运算符?
- 指向派生类的指针的重载解析
- 重载解析、名称查找和函数指针
- 重载 >= 运算符来比较指针
- 如何获取指向未知重载函数的任何重载的指针?
- C++指针对象的运算符重载
- 使用空大括号初始值设定项的重载分辨率:指针还是引用?
- 指向结构的指针的运算符重载
- 指向函数的重载指针
- Visual Studio - C++:维基教科书中关于重载指针/引用相关运算符的代码无法编译