学习笔记
Posted 才极
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记相关的知识,希望对你有一定的参考价值。
基于对象的编程风格(上)
Class
Class的定义是由两部分组成的:(1)类的声明(2)声明之后的主体。主体里面一般有两部分,其中public member可以在程序的任何地方访问,private member只能在类的内部或者是class friend中访问。
所有的成员函数必须在类内声明但是否在类内定义可以自由决定。如果在类内定义,这个成员函数被视为内敛(inline)函数。如果子啊类的外部定义,必须在前面加上关键字inline。
类::函数()告诉编译器,函数是类内部的,并且两个冒号即所谓的类作用于解析运算符。
构造函数与析构函数
一种极为特殊的初始化函数和终止函数,被称为构造函数和析构函数。
构造函数
构造函数名称必须与类的名称相同,不返回任何类型,不用任何返回值,可以被重载。
类的对象被定义出来后,编译器会自动根据获得的参数挑选被调用的构造函数,最简单的构造函数是所谓的默认构造函数,无需任何参数,意味着两点:(1)不接受任何参数(2)为每个参数提供了默认值
构造函数的第二种初始化方法就是所谓的成员初始化列表:
析构函数
析构函数是用户自定义的类成员函数。当类中的对象生命周期结束时,便会自动调用析构函数来释放在构造函数中或对象生命周期中分配的资源。
析构函数名称规定:类名称前加~前缀,没有返回值,没有参数,不被重载。
mutable与const
函数很容易修改类中的元素。只有在类中的成员函数上标注const,才能保证成员函数不会更改类中对象的内容:
如果一个类对象是const类型的对象,里面的函数对改变参数的值。可以将参数权限改为mutable,则对参数的改变不会改变类对象的常量性。
this指针
this指针是一个指向整个对象的方法。this指针指向类,编译器自动将this指针加到每个成员函数的参数列表中。
静态成员函数
静态数据成员用来表示唯一的、可共享的成员。它可以在同一类中的的所有对象中被访问。对类而言,静态数据成员只有唯一一份实体,就像全局对象的定义。如果放在类的外面定义,必须加上类的作用域解析运算符。
静态成员函数:一般,成员函数必须通过其类的某个对象来调用。这个对象会被绑定至该成员函数的this指针。用存储于每个对象中的this指针,成员函数才能访问存储于每个对象中的非静态数据成员。
显然上面这个函数并没有访问任何非静态数据成员。它的工作和任何对象都没有关系,所以静态成员函数便可以在“与任何对象都无瓜葛”的情形下被调用。
以上是关于学习笔记的主要内容,如果未能解决你的问题,请参考以下文章