c++虚函数实现整型和浮点型运算
时间: 2023-06-14 13:07:55 浏览: 122
可以通过定义一个基类,其中包含一个虚函数,然后派生出整型和浮点型类,并在这些派生类中重载该虚函数来实现整型和浮点型运算。
以下是一个示例代码:
```c++
#include <iostream>
using namespace std;
class Operation {
public:
virtual int calculate(int a, int b) {
return 0;
}
virtual float calculate(float a, float b) {
return 0.0;
}
};
class IntOperation : public Operation {
public:
int calculate(int a, int b) override {
return a + b;
}
};
class FloatOperation : public Operation {
public:
float calculate(float a, float b) override {
return a + b;
}
};
int main() {
Operation* p = nullptr;
IntOperation intOp;
FloatOperation floatOp;
int a = 1, b = 2;
float c = 1.1, d = 2.2;
// 整型运算
p = &intOp;
cout << p->calculate(a, b) << endl;
// 浮点型运算
p = &floatOp;
cout << p->calculate(c, d) << endl;
return 0;
}
```
在上面的代码中,Operation 是基类,包含一个虚函数 calculate,派生出 IntOperation 和 FloatOperation 两个类,并在这两个类中分别重载了 calculate 虚函数。在 main 函数中,通过基类指针 p 来调用不同类型的运算。
阅读全文