繁体   English   中英

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

[英]A bit of help understanding constructors, operator overloads, destructors, etc

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

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

根据我到目前为止所学到的,析构函数看起来像

~Grades();

复制构造函数:

Grades(const Grades & );

<<操作符:

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

这些正确吗?

常规构造函数的外观如何? 转换构造函数呢?

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

Grades();

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

Grade(const T&)

如果要转换功能,

 Grade operator=(const T&)

您可能拥有的唯一destructor是,如果用户定义了数据成员,则通过调用相应的destructors函数对对象进行反初始化,然后针对基类,以与默认编译器提供的构造函数所提供的完全相反的顺序进行调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM