C++ -01- 封装 /类 /成员函数

C++是对C语言的拓展,C语言原有的语法C++都支持,并在此基础上添加了新的语法:封装、继承、多态、模板...
C语言与C++的主要区别应该就是:C++让编译器干了更多的事情

结构体可以做参数传递吗?

分析这个函数是如何传递参数的:
我们知道数组传递的是一个指针,那结构体是否也一样呢?
由反汇编代码可知,结构体是内存复制的方式传递参数,因为结构体到底有几个成员,计算机并不知道,所以直接在堆栈给申请了一片空间存放。因此结构体可以当作参数来传递,但是如果结构体成员比较多的话,大量内存复制导致效率低。


功能改进

直接传递结构体,会导致效率低下,那直接传递一个指针


封装

和之前的代码对比一下,可以发现代码简洁了。封装就是把函数写在了结构体里面。调用时默认传入结构体的首地址。可以直接使用结构体里面的变量,不用定义指针来取



带函数的结构体称为类…………

成员函数

结构体里面的函数,称为成员函数。他虽然是成员,也在结构体里面,可它不占用结构体空间。