把上述代码改为c++面向对象程序代码
时间: 2024-06-30 10:01:03 浏览: 85
当然,我可以帮你将上述概念转换成C++面向对象编程代码示例。首先,我们定义一个多态基类和一个派生类来展示虚函数和纯虚函数的概念:
```cpp
// 基类 Base
class Base {
public:
virtual void display() { // 虚函数
cout << "This is a Base class object." << endl;
}
// 纯虚函数
virtual void virtualFunc() = 0;
};
// 派生类 Derived1 和 Derived2
class Derived1 : public Base {
public:
void virtualFunc() override { // 实现基类的纯虚函数
cout << "Derived1's virtualFunc()" << endl;
}
};
class Derived2 : public Base {
public:
void virtualFunc() override { // 实现基类的纯虚函数
cout << "Derived2's virtualFunc()" << endl;
}
};
int main() {
Base* baseObj1 = new Derived1(); // 基类指针指向派生对象
Base* baseObj2 = new Derived2(); // 另一个基类指针
baseObj1->display(); // 调用基类方法
baseObj1->virtualFunc(); // 调用派生类的方法
baseObj2->display(); // 调用基类方法
baseObj2->virtualFunc(); // 调用派生类的方法
delete baseObj1;
delete baseObj2;
return 0;
}
```
在这个例子中:
1. `Base` 类包含了虚函数 `display()` 和纯虚函数 `virtualFunc()`。
2. `Derived1` 和 `Derived2` 是 `Base` 的派生类,并实现了 `virtualFunc()`。
3. 在 `main()` 函数中,我们使用基类指针分别调用基类和派生类的方法,展示了多态性。
阅读全文