阅读程序回答下面问题。 1)程序中是否存在抽象类?如果有是哪一个?(3分) 2)写出程序的输出结果。(3分) #include<iostream> using namespace std; class Base { public: virtual void getxy( int i,int j = 0 ) { x = i; y = j; } virtual void fun() = 0 ; protected: int x , y; }; class A: public Base { public: void fun() { cout<<"x = "<<x<<'\t'<<"y = x * x = "<<x*x<<endl; } }; class B:public Base { public: void fun() { cout<< "x = " << x << ‘\t' << "y = " << y << endl; cout << "y = x / y = " << x / y << endl; } } ; int main() { Base * pb; A obj1; B obj2; pb = &obj1; pb -> getxy( 20 ); pb -> fun(); pb = &obj2; pb -> getxy( 200, 50 ); pb -> fun(); return 0; }
时间: 2024-03-03 21:51:56 浏览: 50
1)程序中存在抽象类,这个类是Base类,其中纯虚函数fun()使得Base类成为了抽象类。
2)程序的输出结果如下:
```
x = 20 y = x * x = 400
x = 200 y = 50
y = x / y = 4
```
首先,我们定义了一个Base类作为抽象类,其中有一个纯虚函数fun()。然后,我们定义了两个派生类A和B,它们都继承了Base类,并且实现了fun()函数。在主函数中,我们先创建了一个A类对象obj1,并调用Base类的getxy()函数对x和y进行初始化,然后调用Base类的fun()函数,但是此时会调用A类的fun()函数,输出x和y的值及y的计算结果。接着,我们又创建了一个B类对象obj2,并对x和y进行初始化,然后调用Base类的fun()函数,但是此时会调用B类的fun()函数,输出x和y的值以及y的计算结果。
相关问题
如何编写Java技术总结,并用MarkDown格式写出范本
感谢您的提问。以下是关于如何编写Java技术总结,并用MarkDown格式写出范本的回答:
Java技术总结的编写需要遵循以下步骤:
1.明确总结的目的和范围,确定要总结的内容和重点。
2.收集相关资料和信息,包括文献、网站、博客、论坛等。
3.对收集到的资料进行筛选和整理,提取出有用的信息和知识点。
4.根据总结的目的和范围,将提取出的知识点进行分类和归纳,形成一个完整的框架。
5.在框架的基础上,逐一撰写每个知识点的详细内容,包括定义、原理、应用、实例等。
6.对撰写的内容进行校对和修改,确保准确、清晰、简洁。
7.使用MarkDown格式进行排版和编辑,包括标题、段落、列表、代码块、链接等。
以下是Java技术总结的MarkDown格式范本:
# Java技术总结
## 一、Java基础
### 1.数据类型
Java中的数据类型包括基本数据类型和引用数据类型。基本数据类型包括整型、浮点型、字符型和布尔型,引用数据类型包括类、接口、数组等。
### 2.控制语句
Java中的控制语句包括条件语句、循环语句和跳转语句。条件语句包括if语句和switch语句,循环语句包括for语句、while语句和do-while语句,跳转语句包括break语句、continue语句和return语句。
## 二、Java面向对象
### 1.类和对象
Java中的类是一种抽象的数据类型,用于描述具有相同属性和行为的对象。对象是类的一个实例,具有独特的属性和行为。
### 2.继承和多态
Java中的继承是一种机制,允许一个类继承另一个类的属性和方法。多态是一种特性,允许不同的对象对同一消息做出不同的响应。
## 三、Java高级特性
### 1.异常处理
Java中的异常处理是一种机制,用于处理程序运行时出现的异常情况。异常处理包括try语句块、catch语句块和finally语句块。
### 2.泛型
Java中的泛型是一种机制,允许在编译时检查类型安全性。泛型包括类泛型和方法泛型。
以上是Java技术总结的MarkDown格式范本,希望对您有所帮助。
阅读全文