【发布时间】:2018-12-08 11:54:07
【问题描述】:
我最近开始学习 C++ 中的 OOP,并开始解决有关它的示例任务。我想在为 CStudent 创建一个默认构造函数之后实例化一个类的对象。但是编译器无法编译代码。我想问一下这是为什么?
【问题讨论】:
-
请始终包含错误消息。
-
你声明了一个构造函数,你需要定义它,或者让编译器使用
= default为你定义它。 -
如果您将
CStudent();更改为CStudent() = default;,您甚至可以强制编译器为您实现构造函数。CStudent() { }也可以。在这两种情况下,编译器都会为所有成员使用默认构造函数。 -
@Scheff 它实际上会使用
name的默认成员初始化器;) -
题外话:在这样的全局范围内你应该避免
using namespace std;,见stackoverflow.com/questions/1452721/…。
标签: c++ oop object constructor initialization