程序嶝嶙题,代嶜如下: #include <iostream> using namespace std; class A { _______________________________ // 你的代嶜嶛这里 }; class B : public A { public: void print() { A::print(); cout << "B" << endl; } }; int main() { A* p = new B(); p->print(); delete p; return 0; } 运嵡嶚嶘: A B
时间: 2024-03-20 09:41:50 浏览: 98
C++文档pdf
以下是修改后的代码:
```
#include <iostream>
using namespace std;
class A {
public:
virtual void print() {
cout << "A" << endl;
}
};
class B : public A {
public:
void print() {
A::print();
cout << "B" << endl;
}
};
int main() {
A* p = new B();
p->print();
delete p;
return 0;
}
```
解释:在类 `A` 中,我们添加了一个名为 `print` 的虚函数。在类 `B` 中,我们覆盖了 `print` 函数,并在其中调用了基类 `A` 的 `print` 函数。这样,当我们在 `main` 函数中创建一个 `B` 对象,并使用一个指向基类 `A` 的指针来访问它时,它将调用 `B` 类中的 `print` 函数,而不是 `A` 类中的 `print` 函数。这就是所谓的多态性。最终的输出结果将是:A B。
阅读全文