相关疑难解决方法(0)

C++静态工厂构造函数

我正在进行模拟,它需要创建多个相似的模型.我的想法是有一个名为Model的类,并使用静态工厂方法来构建模型.例如; Model :: createTriangleModel :: createFromFile.我从之前的Java代码中获取了这个想法,并且正在寻找在C++中实现它的方法.

这是我到目前为止提出的:

#include <iostream>

class Object {
    int id;

public:
    void print() { std::cout << id << std::endl; }

    static Object &createWithID(int id) {
        Object *obj = new Object();

        obj->id = id;

        return *obj; 
    }
};

int main() {
    Object obj = Object::createWithID(3);

    obj.print();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

关于这个的一些问题:

  • 这是一种被接受且干净的制作物品的方式吗?
  • 返回的引用是否始终确保正确删除对象?
  • 没有指针有没有办法做到这一点?

c++ constructor factory

2
推荐指数
3
解决办法
5116
查看次数

标签 统计

c++ ×1

constructor ×1

factory ×1