而不是这样做,而是继续为所有内容制作冗余代码:

Molecule::Molecule(Hydrogenyx& h){
    //some code
}

Molecule::Molecule(Carbonyx& c){
    //same code as hydro
}

Molecule::Molecule(Sulphuryx& s){
    //same code
}


有什么办法可以使它看起来像这样吗?:

Molecule::Molecule(x){
    //code that can apply to all
}

最佳答案

有什么办法可以使它看起来像这样吗?:


当然。您可以使用成员函数模板。

宣言:

template <typename T> Molecule(T& t);


实现方式:

template <typename T>
Molecule::Molecule(T& t){
   // The common code.
}

关于c++ - 将类作为参数传递给c++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44743845/

10-11 17:05