#include < iostream.h> class Mountain {int height; public: Mountain(int h=0):height(h){ } virtual char *GetName({return "山";} int GetHeight(){return height;} }; class Lushan:public Mountain { public: Lushan(int d):Mountain(d){ } char *GetName(){return "庐山";}}; int main() { Mountain *p= new Lushan(1000); cout< <p-> GetName()<< "海拔"<<p- > GetHeight(0<< "米"; return 0; 运行这个程序的输出结果
时间: 2024-01-21 20:02:27 浏览: 28
程序存在语法错误,正确的程序应该是这样的:
```
#include <iostream>
using namespace std;
class Mountain {
int height;
public:
Mountain(int h = 0) : height(h) {}
virtual char* GetName() { return "山"; }
int GetHeight() { return height; }
};
class Lushan : public Mountain {
public:
Lushan(int d) : Mountain(d) {}
char* GetName() { return "庐山"; }
};
int main() {
Mountain* p = new Lushan(1000);
cout << p->GetName() << "海拔" << p->GetHeight() << "米";
delete p;
return 0;
}
```
程序的输出结果是:
```
庐山海拔1000米
```
解释如下:
1. 首先定义了一个名为 Mountain 的基类,其中定义了一个整型成员变量 height,一个构造函数以及一个返回字符串 "山" 的虚函数 GetName() 和一个返回 height 的普通函数 GetHeight()。
2. 接着定义了一个名为 Lushan 的派生类,继承了 Mountain,同时重写了 GetName() 函数,返回字符串 "庐山"。
3. 在主函数中,用基类指针指向一个 Lushan 对象。
4. 调用基类指针的 GetName() 和 GetHeight() 函数,由于 GetName() 是虚函数,会调用 Lushan 类中的函数,输出字符串 "庐山",GetHeight() 直接调用 Mountain 类中的函数,输出 1000。
5. 最后释放内存。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)