大家好,今天我们来说说关于类的一些基础知识。
类的定义:在C++中对象的类型称为类。
访问限定符:1.private,私有的。只能被本类中的成员函数所引用,类外不能调用(友元类例外)。
2.public,公有的。既可以被奔雷中的成员函数所以用,也可以被类的作用域的其他函数所引用。
3.protected,受保护的。用protected所声明的成员称为受保护的成员,他不能被类外访问(这点和私有成员类似),但可以被派生类的成员函数访问。
面对对象的封装性:外界不能访问类中的私有成员数据和函数和受保护的中成员数据和函数,只有类中的成员函数才可以访问类中的私有的和受保护的成员函数和数据。
成员函数的存储方式:不论成员函数在类内定义的还是在类外定义的,成员函数的代码段都是用一种方式存储的,都是不用占对象的空间的。不要误以为类内定义的就占用对象的 内存空间,类外定义的就不占对象的内存空间。
四个成员函数:1.构造函数:构造函数是用来处理对象的初始化和开辟空间的。
构造函数的名字必须和类名一样。
构造函数没有返回值,没有类型。可以带参数,也可以是无参的,无参的构造函数和半缺省的构造函数被称为是缺省的构造函数。
构造函数不需要用户来调用它,它是在建立时就自动执行了。
2.析构函数:析构函数是用来撤销对象占用内存之前完成一些清理工作。
析构函数的名字是在类名的前面再加一个~,
析构函数没有返回值,也没有类型,它是不带参数的,它不能被重载,一个类可以有多个构造函数但是只能有一个析构函数。
如果一个类中没有写析构函数,那么就会使用默认析构函数。
3.拷贝构造函数:拷贝构造函数也是一种构造函数,它的用法和构造函数一样,
形式:类名(const 类名& s)
this指针:在使用构造函数时,由于所有对象都使用同一个成员函数,为了区别那个对象使用的成员函数,在每次使用构造函数时,都会有一个this指针指向成员函数所开辟的 那块空间来记录跟随,它的值是被调用的成员函数所在对象的起始地址。
运算符的重载:运算符的重载是operator+重载运算符;它在运行时,系统会把实参和形参虚实结合。
不能被重载的5个运算符:/./.*/::/sizeof/?:/ / 和/之间的内容为不能被重载的运算符。