我想创建一个具有一个字符串属性的类。但如果字符串的长度超过 50 个字符,我不想创建对象。我该怎么办?
{
if (paSlovo.length() <= DLZKA_SLOVA)
aSlovo = paSlovo;
else
delete this;
} ```
最佳答案
您可以使用一个函数来完成此操作,而不是通过构造函数来完成此操作,该函数将在满足条件时为您提供对象,或者您将获得 nullptr。
确保完成后正确删除对象或使用智能指针
//create object
bar* TryCreateMyObj(string const& paSlovo) const
{
//only create object if string is less than 50
if (paSlovo.length() <= DLZKA_SLOVA)
{
return new bar();
}
return nullptr
}
关于C++ 在构造函数中删除对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65594231/