我正在尝试使用流畅的界面实现构建器模式,以在 C++ 中构建对象。我希望构建器遵循 CRTP 模式。在 Java 中,我会执行类似于以下代码的操作。我如何在 C++ 中做同样的事情?
下面是一些具有基类和派生类的 java 代码。派生类的构建器继承了基类的构建器..
// Base class
public abstract class BaseClass {
private final int base_class_variable;
BaseClass(final Builder <?> builder) {
this.base_class_variable = builder.base_class_variable;
}
public abstract static class Builder <B extends Builder> {
int base_class_variable;
public B setBaseClassVariable(final int variable) {
this.base_class_variable = variable;
return self();
}
protected abstract B self();
}
}
// Derived class
public final class DerivedClass extends BaseClass {
private final int derived_class_variable;
private DerivedClass(final Builder builder) …Run Code Online (Sandbox Code Playgroud)