我阅读了这个问题“C++ Abstract Class: constructor yes or no?”以及属于它的答案。
但是根据答案,我知道我们需要构造函数来初始化它的数据成员,但是我可以在我的派生类中使用它的成员函数,比如setter函数来初始化数据成员,所以为什么定义构造函数很重要吗?
最佳答案
默认构造函数定义和成员初始化使类在适当的设置条件(有效状态)方面自包含。
使用 setter 方法来操作类实例对于类客户端(包括继承类)是可选的。
您可以考虑添加更多构造函数签名,客户端可以使用它们通过单个调用来初始化类成员,并且不需要这些应用额外的 setter 调用。
这取决于特定的用例,最终哪个更方便和语义正确。
关于c++ - C++中的抽象类和构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23434959/