首页 > 编程语言 >面向对象程序设计 第三章 函数

面向对象程序设计 第三章 函数

时间:2023-01-12 12:11:07浏览次数:36  
标签:第三章 函数 递归函数 C++ 面向对象 程序设计 重载 内联

面向对象程序设计 第三章 函数

目录

主要内容:

1.函数的定义与使用

2.内联函数

3.函数重载

4.使用C++系统函数

学习建议:

1.使用调试工具跟踪函数的调用与返回

2.分析递归函数的执行过程

 

1.函数的定义与调用的语法

本处只阐述C++相对于C语言更加新的用法。

1.形参前可以加取址符,使得内存里该变量的值真的随函数内的运算而改变。

 

 2.递归函数的实际应用

例题1:

 

 

实际上,分析中的公式也可以理解为:

  循环n次,每次决策这个人用不用被选上,用就是k-1,不用就是k

(n是人数,k是需要被选择的人数,人和人之间是不同的)

 

Solution:

 

 

 

例题2:汉诺塔问题

 

 

 

预防晕递归的有效方法:把部分操作看作整体操作,坚信自己的递归函数可以完成他的使命。

  以上方法在汉诺塔问题、归并排序、快速排序等算法中有着重要的作用,使用以上思想,虽然搞不明白递归的每一步,但是却可以完成题目的要求。

 

 

Solution:

 

 

3.函数的细节问题

 

 

 

 

 

 

 

 

 

 4.函数的内联、重载与系统函数的调用

内联函数:

1.内联函数需要在定义函数的时候在关键字前面加上“inline”;

2.内联函数的使用准则:比较简单的函数(调用函数的时间代价比函数内的计算还要大),并且内联函数内不能有循环语句;

 

 

函数重载:

 

 

 

 系统函数:

 

 C++还有许多其他的系统函数,功能特别强大。


Written by DanRan02

2023.1.12

标签:第三章,函数,递归函数,C++,面向对象,程序设计,重载,内联
From: https://www.cnblogs.com/DanRan02/p/17046268.html

相关文章

  • js的面向对象
    前言说起起面向对象的概念,大家大部分的印象都是与后端相关的。  其实并不是这样,我觉得面-向对象这种思想适合在任何的场景,甚至在现实的场景中。因为后端相关语言在实......
  • 面向对象——封装
    封装改露的露,该藏的藏我们程序设计要追求"高内聚,低耦合"。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。封装(数据的隐......
  • Python爬虫-第三章-5-利用xpath爬取某八戒网相关词语公司的信息和价格
    #DemoDescribe:数据解析xpathimportrequestsfromlxmlimportetreefromfake_useragentimportUserAgent'''companytitleprice'''#picType=input('输......
  • OOD 面向对象设计 (Object-oriented design)
    OOD概念面向对象设计(Object-OrientedDesign,OOD)方法是面向对象程序设计方法中一个环节。主要作用:对分析模型进行整理,生成设计模型提供给OOP作为开发依据。主要内容:......
  • Python爬虫-第三章-4-利用BeautifulSoup模块爬取某网壁纸图库图片
    思路:1.提取子页面链接2.访问子链接页面,提取下载地址3.访问下载地址下载内容到本地#DemoDescribe:数据解析bs4importtimeimportrequestsimportrandomimportstringfr......
  • mt_Day3:面向对象基础
    面向对象1.案例练习:购物车对象商品类publicclassgoods{intid;Stringname;doubleprice;intbuyNums;}购物车功能1.添加商品到购物车2.......
  • 【加密与解密】第三章⑦
    其他功能1.图形化功能这种模式比文本模式的可视性更好,用户更容易看清函数的代码流程。通过空格切换文本模式或者图形化模式。2.修改可执行文件使用IDA可以直接修改二进......
  • 225. 多重集组合数(挑战程序设计竞赛)
    地址https://www.papamelon.com/problem/225有n种物品,第i种物品有a_i个。不同种类的物品可以互相区分但相同种类的无法区分。从这些物品中取出m个物品的话,有多少......
  • 面向对象程序设计 第二章 C++简单的程序设计
    目录C++语言的特点1.兼容C语言·它保持了C的简洁、高效和接近汇编语言等特点。·对C的类型系统进行了改革和扩充。·C++也支持面向过程的程序设计,不是一个纯正的面......
  • MySQL必知必会第三章-使用MySQL
    使用MySQL链接为了链接MySQL需要以下信息:主机名(计算机名)——如果连接到本地MySQL服务器,为localhost;端口(如果使用默认端口3306之外的端口);一个合法的用户名;用户口令(如......