运算符重载如何声明为纯虚函数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运算符重载如何声明为纯虚函数?相关的知识,希望对你有一定的参考价值。

一般不这样做,因为返回值的问题,但是可以做

#include <iostream>
using namespace std;

class A

public:
virtual void operator ++ ()=0;
virtual void Print()=0;
;

class B:public A

public:
B():a(0)
void operator ++ ()

cout<<"class B operator ++"<<endl;
a++;

void Print()

cout<<a<<endl;

private:
int a;
;

class C:public A

public:
C():a(0)
void operator ++ ()

cout<<"class C operator ++"<<endl;
a++;

void Print()

cout<<a<<endl;

private:
int a;
;

int main()

A* p1=new B();
++(*p1);
p1->Print();
A* p2=new C();
++(*p2);
p2->Print();
参考技术A 不能的。这是规则。

以上是关于运算符重载如何声明为纯虚函数?的主要内容,如果未能解决你的问题,请参考以下文章

C++:从抽象类重写纯虚运算符重载

本周学习小结

在C++中,啥是运算符重载?啥是虚函数?

C++的函数重载

C++学习27 用全局函数重载运算符

C++学习29 重载[](下标运算符)