【自考】C++程序设计(二)类和对象

【前言】

    C++程序设计这本书,感觉知识点编排是乱了点,小编看书看的快不行了,但还是咬牙把类和对象这章又啃了一遍。
    其实考研也在学C语言的知识,不过C语言和C++还是有一些区别,最大的区别就在于类和对象了。C语言里是没有类和对象的,C++一边面向对象,一边却也是保留了面向过程语言的main函数,所以C++凭借类和对象就比C语言多出了好多好多知识。本文总结整理了C++中类和对象的知识点,希望能给读者有所帮助!

【类和对象】

    类和对象,我们从类和实例化(对象)、构造函数、析构函数、面向对象四个大方面来分析!

    小编呕心沥血之图:

                          【自考】C++程序设计(二)类和对象



    其实说到类,类也是用户自己构造的数据类型,也需要先声明后使用。而且类名必须唯一标识,类中声明的任何成员不能使用extern auto register关键字进行修饰,但是可以用static。C语言用extern auto register static来修饰变量的存储类别的,这点和C++中的规定还是有区别的。

    类的组成成员有两大部分,一是数据成员,它不能在类声明的时候对数据成员进行初始化,也不能不能在类体外直接赋值,只有这个类产生了具体对象才能对数据成员进行初始化。二就是成员函数,其声明格式,实现格式都要书写准确。如果声明类同时,在类体内给出成员函数的定义,默认为内联函数。

    对象、引用、指针都可以作为函数的参数,对象和引用都使用 . 运算符来访问对象的成员,指针使用  ->运算符访问对象的成员。参数传递用对象值,形参改变不影响调用参数中作为实参的对象。参数传递用对象的引用(传地址),形参被修改,实参也被修改。参数传递用对象地址值,使用对象指针作为函数参数,同为传引用的效果。

    我们可以总结出类的一些规律:
    1.类的成员函数可以使用自己类的私有数据成员和私有成员函数。
    2.类外函数不能直接访问类的私有数据成员和私有成员函数,只能通过类的对象使用该类的公有成员函数(如print main)

    复制构造函数的参数特别,它必须使用对象的引用来作为形参。函数参数传对象是传值方式,需要产生一个副本,副本就是临时对象,调用复制构造函数产生副本,退出函数时,调用析构函数析构临时对象。函数参数使用引用不产生副本,所以我们推荐使用引用作为函数参数。
    析构函数用来释放由构造函数分配的内存,从函数重载的角度分析,一个类只能定义一个析构函数且不能指明参数,但是可以显式说明参数是void型。
    关于构造函数和析构函数的调用先后顺序:先构造,就后析构,后构造,就先析构。它们俩是相反顺序执行的。

【小结】

    类和对象这一块的内容很多,涉及到的代码声明、定义格式也不少,多总结,多联系~