学习网络

C++之类 和 函数_类类型

一.概念区

(1)类

      ​​一种用户定义的引用数据类型,也称类类型。每个类中包含数据说明和一组操作数据或传递消息的函数(例如string类中包含了很多对字符串的操作的多功能函数)其实质是一种引用数据类型​,复杂数据类型。  

   ​  三大特性:封装性(数据和操作为整体)、继承性多态性​(一 个接口,多个方法)

(2)函数

用来实现一个特定功能的模块(程序块)(函数用来实现特定功能)

(3)代码重用

使用已有的、通过测试的代码块(自定义函数在多处使用​时)

(4)抽象

       I.过程抽象

一种程序设计技术。main函数中包含函数调用序列,每个函数在单独实现(通俗而言,就是用子函数来实现总的功能

      II.数据抽象​

使用程序设计语言可用数据类型和附加数据类类型来对现实世界                                   进行建模(比如 “类string”

(5)名称作用域

程序中有特定含义的名称或可引用的范围与c语言中的生命周期类似 ,一旦变量跳出,就不存在

(6)运算符重载

操作符能根据操作数来完成不同操作的能力如对于 "+",如果操作数是数字,表示“相加 ”,如果操作数是字符串,表示连接功能

(​7)驱动函数​

为测试其他函数而定义的简短函数,驱动函数中要给出被测函数的实参,调用被测函数并显示运行结果简而言之,就是通过主函数来测试函数功能

​二.函数​

(一)函数参数传递

    地址传递

C++之类 和 函数_类类型_02

运行结果:

C++之类 和 函数_操作数_03

解析​:C++之类 和 函数_解决方案_04

  值传递

C++之类 和 函数_解决方案_05

运行结果:

C++之类 和 函数_值传递_06

解析:

C++之类 和 函数_值传递_07

(二)函数使用规则

         ​    I .如果函数原型在函数调用后要在使用前进行函数声明,反之不用

             II.在调用函数时要注意函数定义中的参数类型、参数次序、参数个数要保持一致

             III.函数名尽量能够体现函数功能,增加代码的可读性

             IV.函数之间可以嵌套使用,但也要满足规则I

             V.每个实参对应的数据类型必须保证再给形参赋值时没有信息丢失

            VI.函数原型是声明,必须以分号结束;而函数头后一定不要加分号

​(三).自顶而下设计​

       ​一种解决问题的方法,将一个问题分解成几个主要的子问题​,通过子问题的解决方案导出原始问题的解决方案

(四).常见的程序设计错误

      I.函数头和函数原型中的分号:

           ​报错:Statement missing Declaration incorrectly ​    

      II.参数个数错误

         ​ 报错:Incorrect number of argument in call to intpower(int int )​  (函数原型)

      III.参数不匹配

      IV.函数原型与函数定义不匹配

      V.return语句错误

      VI.调用成员函数时缺少对象名

      VII.调用成员函数时参数不匹配