我是靠谱客的博主 威武热狗,最近开发中收集的这篇文章主要介绍C++类/对象学习笔记函数相关:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这里说几点(和java,python)不一样的:

*.类定义是以关键字 class 开头,后跟类的名称。类的主体是包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表。

函数相关:

先复习一下函数声明和函数定义的相关知识:

“函数定义”是指对函数功能的确立,包括指定函数名,函数值类型、形参类型、函数体等,它是一个完整的、独立的函数单位。

而“函数声明”的作用则是把函数的名字、函数类型以及形参类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照检查(例如函数名是否正确,实参与形参的类型和个数是否一致)。

在书写形式上,函数声明可以把函数头部复制过来,在后面加一个分号;而且在参数表中可以只写各个参数的类型名,而不必写参数名。

再来说一下头文件,这个东西是c/c++的特色:

通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。

类比java的包,也就是import后面的东西 , 假如你在C++里要导个东西 ,不能直接 "#include 'xxx.cpp' " .而是要先写个和源代码同名的头文件(.h),这个头文件里放变量和函数的声明,最后"#include 'xxx.h' ".相比其他语言C++导包的过程多了一步.

优势:

有两个用处,一个是在开发编译的时候,在各个编译单元(Compile Unit)之间共享同样的定义;一个是在发布程序库的时候,让使用者知道调用接口。比ctrl+o看源码可能方便一点

注意点:

防重入开关,C++ 编译器自适应开关,头文件里应该 ,include 所有该文件中所使用的其它接口头文件,再详细的就不在这里写了,这里主要写类和对象.

成员函数:

声明写在.h中,定义写在.cpp中,记的在函数名称前加"类名 ::(范围解析运算符)". 或者写成内联函数(地下有).

构造函数:

可以简单写成没有返回值的成员函数,但这里很容易出问题,详细版本在此:https://blog.csdn.net/realliyuhao/article/details/106319244

析构函数:

是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。

析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。

拷贝构造函数:

是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。详细信息:https://blog.csdn.net/realliyuhao/article/details/106328954

友元函数:

是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。详细信息在此:

https://www.runoob.com/cplusplus/cpp-friend-functions.html,

https://www.cnblogs.com/zhuyf87/archive/2013/02/25/2932682.html

内联函数:

内联函数是通常与类一起使用。如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。

注意点:

如果想把一个函数定义为内联函数,则需要在函数名前面放置关键字 inline;

在类定义中的定义的函数都是内联函数;

当函数体比较小的时候, 内联该函数可以令目标代码更加高效,这其实就是个空间代价换时间的i节省. 对于存取函数以及其它函数体比较短, 性能关键的函数, 鼓励使用内联.

其内部不允许使用循环语句和开关语句.

this 指针(->):

Java里的this,python里的self,在python中体现得比C++更明显,类内部的函数第一个参数就是self,甚至可以显示命名.还有,友元函数没有该指针,该指针不能访问静态成员变量.

类的静态成员:

基本的:https://www.runoob.com/cplusplus/cpp-static-members.html

一些有意思的:

https://blog.csdn.net/lms1008611/article/details/81408236 静态成员的基本用法;

https://blog.csdn.net/u011857683/article/details/52294353 静态函数访问非静态成员

指向类的指针:

与指向结构的指针类似,访问指向类的指针的成员,需要使用成员访问运算符 ->,就像访问指向结构的指针一样。与所有的指针一样,您必须在使用指针之前,对指针进行初始化。

 

最后

以上就是威武热狗为你收集整理的C++类/对象学习笔记函数相关:的全部内容,希望文章能够帮你解决C++类/对象学习笔记函数相关:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部