面向对象程序设计C++由入门到进阶part1

本文探讨了面向过程和面向对象编程的区别,强调面向对象的特性,如类、对象、继承和多态。此外,通过一个C++程序示例展示了如何重载函数`sroot()`以计算不同类型数据的平方根,包括整数、长整数和双精度数。
摘要由CSDN通过智能技术生成

1. 试比较面向过程的程序设计方法和面向对象程序设计方法的不同。

2. 面向对象方法的定义是什么?其要点有那些?其特点是什么?

3.简述面向对象中的基本概念:类、对象、实例、抽象、消息、封装、继承、多态,最好结合自己的理解或实例来说明。

4.编写一个C++风格的程序,建立一个被称为sroot()的函数,返回其参数的二次方根。重载函数sroot()3次,让它返回整数、长整数与双精度数的二次方根(计算二次方根时,可以使用标准库函数sprt())。

1,

面向过程程序设计:过程抽象,不需要考虑子功能

面向对象程序设计: 功能分解,对象分解,对象的有机结合把实际的问题抽象成P问题,保留共享的本质特征。

2,

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JmO5rCU5Lic5p2l,size_20,color_FFFFFF,t_70,g_se,x_16

 

要点:

(1)面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。

(2)把所有对象都划分成各种,每个类都定义了一组数据和一组方法。数据用于表示对象的静态属性,是对象的状态信息。

(3)按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。

(4)对象彼此之间仅能通过传递消息互相联系。

3,

对象:把对象抽象出来。例如张三和大一新生,张三是一个个体,大一新生是对象 。

:类是对对象的抽象,描述一类对象的行为和状态。例如:学生(全体),水果。对类操作,有对象共享。

实例:类”在实例化之后叫做一个“实例”。 “类”是静态的,不占进程内存,而“实例”拥有动态内存。对象是类的实例。 例如:某学校的的学生。

抽象:是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。例如苹果、香蕉、生梨、葡萄、桃子等,它们共同的特性就是水果。得出水果概念的过程,就是一个抽象的过程。

消息:对象之间的消息传递,消息是对象之间的通信机制。比如,当对象A调用对象B的一个方法时,对象A就是在向对象B发送一个消息,对象B的响应由其返回值定义。

封装:其他对象看不到内部操作;是一种有利于信息保密的操作。可避免用户对数据的修改。

继承:继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。继承是类和类之间的一种关系。子类是父类的一种,继承了父类的某些性质。

多态性:同一个界面,多种实现。当不同的多个对象同时接收到同一个完全相同的消息之后,所表现出来的动作是各不相同的,具有多种形态;从微观的角度来讲,多态性是指在一组对象的一个类中,面向对象技术可以使用相同的调用方式来对相同的函数名进行调用,即便这若干个具有相同函数名的函数所表示的函数是不同的。

4,

#include <iostream>

#include<cmath> //使用cmath标准库函数using namespace std;

double sroot(int x); //函数的声明,重载三次double sroot(long int x);

double sroot(double x);

int main()

{

int x;

cout << "请输入一个整型数字:" << endl;

cin >> x;

cout << sroot(x) << endl;

long int y;

cout << "请输入一个长整型数字:" << endl; cin >> y;

cout << sroot(y) << endl;

double z;

cout << "请输入一个双精度的数字:" << endl;

cin >> z;

cout << sqrt(z) << endl;

return 0;

}

double sroot(int x) //函数的定义

{

return sqrt(x);

}

double sroot(long int x)

{

return sqrt(x);

}

double sroot(double x)

{

return sqrt(x);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值