qfedu-cpp-level/day6/d3.cpp

42 lines
720 B
C++
Raw Permalink Normal View History

2023-08-14 17:20:39 +08:00
// 向上类型转换
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
class Printer
{
public:
void open()
{
cout << "打印机正在开机..." << endl;
}
};
class DellPrinter : public Printer
{
void open()
{
cout << "Dell打印机..." << endl;
}
};
class HuaweiPrinter : public Printer
{
void open()
{
cout << "Huawei打印机..." << endl;
}
};
int main()
{
DellPrinter dellprinter;
// 多态: 通过父类的引用或指针调用子类对象的成员
// 子类对象自动向上转换位父类的类型
Printer &printer = dellprinter;
printer.open(); // 输出: 打印机正在开机...
return 0;
}