C&C++ 面向对象编程OOP #13
JAX1024Dev
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
前言
构造函数、析构函数、赋值函数
对于每个类会产生四个缺省的函数。
其中缺省的拷贝构造函数和缺省的赋值函数均采用“位拷贝”而非“值拷贝”的方式实现,倘若其中有指针变量,必然会出现错误。
构造函数初始化表
构造函数有个特殊的初始化方式“初始化表达式表“,初始化表位于函数参数表之后,却在函数体
{}之前。使用规则:
如果类存在继承关系,派生类必须在其初始化表里调用基类的构造函数。
类的
const常量只能在初始化表中被初始化,因为它不能在函数体内用赋值的方式来初始化。类的数据成员的初始化可以采用初始化表或函数体内赋值两种方式,这两种方式的效率不完全相同。非内部数据成员应当采用初始化表初始化,以提高效率。
赋值函数
四步实现:
a = b = b这样的链式表达式。派生类实现基本函数
这三种基本函数都不能被派生类继承,如果类之间存在继承关系,应该注意以下事项:
Beta Was this translation helpful? Give feedback.
All reactions