类与对象的细节知识-C++复习笔记

类与对象的细节知识-C++复习笔记,第1张

类与对象的细节知识-C++复习笔记 阅读本文大于需要3分钟,本文只涉及理论,不涉及代码实现

这些是我复习c++类与对象章节中容易被忽略、比较重要的知识点

1、通过public的成员函数来访问private的数据成员,实现封装

2、struct和class的唯一区别:struct未指明成员的访问属性时,默认时public,而class默认是private

3、在默认函数定义或声明加上default,可以显式指示编译器生成该函数的默认版本

4、每个对象的函数成员都通过指针指向同一个代码空间

5、成员函数与普通函数的重要区别:成员函数默认有this指针,隐含接收了一个对象的地址,这个地址被隐含的形参this指针获取

6、静态变量在被创建时,自动赋值为0,自动变量在被创建时,初始值不确定

7、不能为构造函数指定返回值类型(包括void)

8、构造函数的初始化表: 

          类名(形参表):数据成员1(初值1),数据成员2(初值2)… { … }

        初值可以是常量或形参表中的参数

在构造函数的初始化列表中,还可以调用其他构造函数,被称为“委派构造函数”

10、类域中定义的变量不能使用auto、register、extern,在类域中定义的函数不能使用extern,在类

域中定义的静态数据成员和静态成员函数还具有外部的链接属性。

11、如果在成员函数中定义了与类的数据成员同名的局部变量,则访问类中的数据成员时要加作用域运算符::

12、对象成员:一个类的对象作为另一个类的数据成员(这里是包含关系,不是继承关系)

13、当数据成员为常量或引用时,要通过初始化表来赋初值

14、常成员函数: 类型 函数名(参数表) const;(const参与区分函数重载) 为只读函数,可以读取数据成员的值,但不能修改值,不能调用类中其他非常成员函数

15、常对象:  const 类名 对象名

                        const 对象名 类名

        定义时初始化,整个生存期内不能被修改,常对象只能调用类中常成员函数

16、静态成员:分为静态数据成员、静态成员函数

                       静态数据成员: static 类型说明符 成员名。不管定义多少个对象,其静态数据成员只有一份,被这些对象共享。不会随对象产生而分配,不会随对象消失而回收,是程序开始运行被分配。应该在程序全局区域赋初值。private和protected部分的静态成员只能通过类的成员函数访问

                       静态成员函数:与类关联、不与类的对象关联,访问时可以不需要对象。可以直接

类名::函数名 访问;也可以  对象名.函数名 访问。一个静态成员函数不与任何对象关联,所以它不能访问非静态成员

17、友元本身不是类的成员,友元函数类内声明,但不是该类的成员函数

18、可以把另一个类的公有成员函数声明为自己的友元函数

19、当希望一个类可以存取另一个类的私有成员时,可以将该类声明为另一个类的友元类,友元类的所有成员函数都可以视为该类的友元函数。友元类不具有对称性和传递性

20、可以在类中使用其他类来定义数据成员,通常称之为“子对象”,这种包含与被包含的对象间的关系称为“组合”,子对象构造时若需要参数,则应在当前类的构造函数的初始化列表中进行

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5432437.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存