有助于理解构造函数、运算符重载、析构函数等

A bit of help understanding constructors, operator overloads, destructors, etc

本文关键字:重载 析构函数 运算符 有助于 构造函数      更新时间:2023-10-16

所以我是C++初学者,我有一个问题。

假设我们有一个班级成绩。

从我目前所了解到的情况来看,析构函数看起来像

~Grades();

复制构造函数:

Grades(const Grades & );

<lt;操作员:

ostream & operator << (ostream & os, const Grades & g);

这些是正确的吗?

常规构造函数会是什么样子?转换构造函数呢?

编译器提供的常规默认构造函数如下所示,如果它是从任何类派生的,它将在内部调用base class构造函数。稍后,对于具有用户定义类型的数据成员,它将按照声明的顺序调用它们各自的默认构造函数。

Grades();

转换构造函数是您必须定义的东西,它们看起来像

Grade(const T&)

如果你想要转换功能,

 Grade operator=(const T&)

您唯一可以拥有的destructor是假设通过调用相应的destructors(如果是用户定义的数据成员)和基类来取消初始化对象,这与默认编译器提供的构造函数提供的顺序完全相反。