C++||函数及类

Posted 海滨IT圈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++||函数及类相关的知识,希望对你有一定的参考价值。

  函  数  

送走了2020,迎来了2021。新年新气象,新的一年我们将继续学习C++的知识。

相信通过上次的学习,大家对函数的知识掌握的差不多了,接下来我们将继续遨游在函数的海洋里。

Part 1

函数重载

重载函数必须在下列一个或两个方面有所区别: 

1、函数有不同参数个数 

2、函数有不同参数类型 

小试牛刀

编写一个程序,用来求两个整数或3个整数中的最大数。如果输入两个整数,程序就输出这两个整数中的最大数,如果输入3个整数,程序就输出这3个整数中的最大数。

解题思路:

功能相同,求最大数。

参数类型相同,个数不同。

可以采用函数重载。

C++||函数及类
C++||函数及类

Part 2

函数模板

函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。 

函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。 

在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现了不同函数的功能。



template<typename T>  通用函数定义

template <class T>          通用函数定义



Part 3

有默认参数的函数

有时多次调用同一函数时用同样的实参,C++提供简单的处理办法,给形参一个默认值,这样形参就不必一定要从实参取值了。



float area(float r=6.5);

area( );                              //相当于area(6.5);

area(7.5);    //形参得到的值为7.5,而不是6.5



在调用有默认参数的函数时,实参的个数可以与形参的个数不同,实参未给定的,从形参的默认值得到值。 

实参与形参的结合是从左至右顺序进行的。因此指定默认值的参数必须放在形参表列中的最右端,否则出错。



void f1(float a,int b=0,int c,char d=′a′);   ×

void f2(float a,int c,int b=0, char d=′a′);     



小试牛刀

求2个或3个正整数中的最大数,用带有默认参数的函数实现。

解题思路:

功能相同,求最大数。

参数类型相同,个数不同。

可以采用函数重载。

还可以使用带默认参数的函数,当求2个正整数的最大值时,使用默认参数为0。

C++||函数及类
C++||函数及类
C++||函数及类

有关C++中函数的问题就讲解完了,为了对这块知识有更深的理解,那就拿起电脑写些程序来加强自己对知识的记忆吧~

Part 01

OOP的基本特点

OOP:Object Oriented Programming

面向对象的编程

01

抽象

抽象:是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。 

先注意问题的本质及描述,其次是实现过程或细节。 

数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。 

代码抽象:描述某类对象的共有的行为特征或具有的功能。 

抽象的实现:通过类的声明。

人实例 

数据抽象:

 char *name, char *gender, int age

代码抽象: 

   生物属性角度:

GetCloth(),   Eat(),  Step(),… 

   社会属性角度:

Work(), Promote() ,…

02

封装

将抽象出的数据成员、代码成员相结合,将它们视为一个整体。 

目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口,以特定的访问权限,来使用类的成员。 

实现封装:类声明中的{ }

class  Clock

{

  public:void SetTime(int NewH,int NewM,

                        int NewS);
       void ShowTime();

  private: int Hour,Minute,Second;

};

public、private:特定的访问权限

SetTime、ShowTime:外部接口

03

继承与派生

是C++中支持层次分类的一种机制,允许程序员在保持原有类特性的基础上,进行更具体的说明。 

实现:声明派生类——见后续讲解。

04

多态

多态:同一名称,不同的功能实现方式。 

目的:达到行为标识统一,减少程序中标识符的个数。 

实现:重载函数和虚函数。

C++||函数及类

Part 02

C++中的类

类是具有相同属性和行为的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分。 

利用类可以实现数据的封装、隐藏、继承与派生。 

利用类易于编写大型复杂程序,其模块化程度比C中采用函数更高。

C++||函数及类

Part 03

类的声明

类是一种用户自定义类型,声明形式:

class 类名称

{

   public:

             公有成员(外部接口)

   private:

             私有成员

   protected:

             保护型成员

}

公有类型成员: 

在关键字public后面声明,它们是类与外部的接口,任何外部函数都可以访问公有类型数据和函数。

私有类型成员: 

在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都不能访问。 

如果紧跟在类名称的后面声明都为私有成员,则关键字private可以省略。

保护类型成员: 

与private类似,其差别表现在继承与派生时对派生类的影响不同。

今天的学习就到这里结束了,类在C++中是很重要的一块,下周我们将继续进行类的讲解。我们下周再见~

编辑:高佳玉

审核:姜靖

责编:尹洪峰老师

祝大家新年快乐鸭~

JIXIE



以上是关于C++||函数及类的主要内容,如果未能解决你的问题,请参考以下文章

braise脚本学习指引--braise语言lib库及类库介绍

react函数式组件及类式组件

Qt通用方法及类库1

笔记2---初始化及类的加载

Qt通用方法及类库12

Qt通用方法及类库13