【问题标题】:A bit of help understanding constructors, operator overloads, destructors, etc对理解构造函数、运算符重载、析构函数等有一点帮助
【发布时间】:2015-12-11 08:53:23
【问题描述】:

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

假设我们有一个班级 Grades。

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

~Grades();

复制构造函数:

Grades(const Grades & );

一个

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

这些正确吗?

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

【问题讨论】:

  • 您好,欢迎来到 SO,很高兴您开始学习 C++ 编程。不过有一件事,像arenothard这样的问题的答案可以在谷歌上找到oronSO

标签: c++ class object constructor


【解决方案1】:

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

Grades();

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

Grade(const T&)

如果你想要转换功能,

 Grade operator=(const T&)

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

【讨论】:

    猜你喜欢
    • 2011-10-11
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 2017-04-27
    • 2018-03-22
    • 1970-01-01
    相关资源
    最近更新 更多