内联函数inline
用inline修饰的函数就叫内联函数,编译时c++会在调用的地方展开内联函数,这样在调用内联函数时就不用建立栈帧了,可以提高效率。
通常适用于比较常用而且代码不是很长的函数就可以用内联的方式。
c语言中的宏函数也会在预处理时替换展开,但是宏函数实现容易出错而且不方便调试,c++设计内联函数的目的就是为了要代替c的宏函数。
类定义格式
class是类定义的关键字,Stack是类的名字,{}中是类的主体,类定义结束后面记得有分号,跟结构体定义一样。类中内容称为类的成员,类中的变量为类的属性或者成员变量。类中的函数称为类的方法或者成员函数。
一般情况下为了区分成员变量,我们在写成员变量是会在前面加上_或者m开头,作为特别标识。
c++中struct也是可以定义类的,c++中兼容c中struct的用法的同时也升级了sruct,明显的变化就是struct类中可以定义函数。不过一般情况下还是用calss类。
访问限定符
为了让用户可以选择性的使用其类中的对象,可以通过访问限定符达到让用户选择使用的目的
public:被public修饰的成员在类外也是可以直接访问;protected和private在这里的作用是一样的,被他们修饰的成员在类外不能直接被访问。
class定义成员的时候没有被限定符修饰则默认为private,struct默认为public。
一般的成员变量都会被限制为protected/private,需要被别人使用的成员函数会被public修饰。
类的作用域
类的使用产生了一个新的作用域,这个类中的成员,函数等都只在类的定义域中,要想在类外使用,必须加上::作用域解析符指明成员属于那个类域。
类的实例化
用类类型创建对象的过程,称为类的实例化
- 类只是一个模型一样的东西,限定了类有哪些成员,定义出一个类并没有分配实际的内存空间来存储它
- 一个类可以实例化出多个对象,实例化出的对象占用实际的物理空间,存储类成员变量
- 类实例化出的对象就像是在建房子,类就是设计图纸,设计出基本的结构和框架,但是没有实物,实例化就是根据这个图纸来打造实物。只有实例化出的对象才能实际存储数据,占用物理空间。
实例化对象
以上便是我对类与对象的初步认识,有很多不足大佬们可以提出来多多指教,我会更好改进内容。希望可以给大家带来一点帮助。