对C++的类的理解以及和C语言之间的思考(二)

本文探讨了C++中类的概念,包括属性与方法的区别、函数成员如何访问数据成员等特性。此外还介绍了函数成员的重载机制、内联函数的作用及定义方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    写“(二)”的原因在于,是想要接着上面一篇博客,接着写下去,看看能否形成一个良好的系统。

在C++的类(相当于C的结构体)当中,定义的变量,也就是数据成员,被称为属性; 而声明的函数,也就是函数成员,被称为是方法,我想C++和C之间,面向对象语言和面向过程语言的各自特点和联系,毕竟C++语言既可以面向对象,又可以面向过程。

      上面提到的只是名称上面的不同,但是C++语言当中的类部分还有一些细则跟C是不一样的。

第一、类中的函数成员可直接访问本类中的数据成员,数据成员相当于是类中的全局变量。甚至可以调用本类中的函数成员,就是不知道能不能调用其他类当中的函数成员。

第二、类中的函数成员可以重载。这里重载要好好解释一下, 所谓重载是面向过程语言的一个特性,简单的说,就是不同函数成员之间可以重名。但是重名之后,两个函数的形参个数不能够相同,不然就变成了外观一样的函数了,哪怕里面不一样,但是计算机是识别不出来的。

第三、不同的类中可以有相同名字,甚至相同形参的函数成员和数据成员,这跟C语言的函数有异曲同工之妙。

第四、可以将函数成员定义成内联函数。在类实现部分定义函数成员时可以用“inline”关键字将其定义成内联函数,或者直接将该函数成员定义在类声明部分的大括号里。 C++编译器默认将直接定义在类声明部分大括号里的函数成员当做内联函数处理。(这一点是直接copy阚道宏老师ppt上面的课件)

    PS:什么是内联函数?内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用处。编译时,类似宏替换。函数内联,大大提高了函数的执行效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值