使用静态成员函数

时间:2017-01-17 10:27:55

标签: c++

我有一个静态函数,它填充传递的引用对象并返回一个整数来表示错误或成功。

static int readDeformationGrid(const std::string& gridFile,
                                   DeformationGrid& defgrid)

是否可以使用相同的静态成员函数来初始化对象?这是个坏主意吗?

这样的东西
DeformationGrid(const std::string& gridFile)
{
    int ret = DeformationGrid::readDeformationGrid(gridFile, *this);
    if(ret < 0)
        throw std::invalid_argument("Error reading deformation grid file " + gridFile);
}

或者我应该使用工厂模式吗?

我认为这样的东西在可重构对象中很有用。一个reconfigure方法和构造函数将共享相同的代码,因此将它放在第三个成员函数上是有意义的,因为在第二种情况下它可能还没有对象。

如何在构造函数上调用这样的方法?

0 个答案:

没有答案