c++ - C++中的抽象类和构造函数

标签 c++ constructor abstract-class

我阅读了这个问题“C++ Abstract Class: constructor yes or no?”以及属于它的答案。

但是根据答案,我知道我们需要构造函数来初始化它的数据成员,但是我可以在我的派生类中使用它的成员函数,比如setter函数来初始化数据成员,所以为什么定义构造函数很重要吗?

最佳答案

默认构造函数定义和成员初始化使类在适当的设置条件(有效状态)方面自包含
使用 setter 方法来操作类实例对于类客户端(包括继承类)是可选的。

您可以考虑添加更多构造函数签名,客户端可以使用它们通过单个调用来初始化类成员,并且不需要这些应用额外的 setter 调用。

这取决于特定的用例,最终哪个更方便和语义正确。

关于c++ - C++中的抽象类和构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23434959/

相关文章:

c++ - 使用 std::regex 分割行并丢弃空元素

c++ - 视频文件中的感兴趣区域

c++ - 编译器如何知道是使用成员运算符重载还是全局运算符重载?

java - 如何创建我的抽象类的无名派生类的对象?

c# - 实现抽象方法时更改参数类型

oop - 在Dart中扩展抽象类是否为子类提供了另一个构造函数

c++ - 图 .h 文件和 .cpp 文件我收到很多错误

java - 内部类中的私有(private)构造函数在外部类中初始化

C++:在构造类时将指针传递给类

c++ - 在初始化时使用基类的 const