繁体   English   中英

C ++ - 如何从类的构造函数初始化单独类的构造函数?

[英]C++ - How do I initialize a constructor of a separate class from the constructor of a class?

基本上,我想实现的是创建类的地方(私人)实例deltaKinematics在类geneticAlgorithm

geneticAlgorithm.h文件中,我有:

class DeltaKinematics; //class is defined in separate linked files

class GeneticAlgorithm {
  //private  
    DeltaKinematics deltaRobot;

public:

    GeneticAlgorithm(); //constructor

};

这很好,但是当我去声明GeneticAlgorithm构造函数时,我无法弄清楚如何构造DeltaKinematics的实例

这是geneticAlgorithm.cpp构造函数:

GeneticAlgorithm::GeneticAlgorithm(){ //The error given on this line is "constructor for 'GeneticAlgorithm' must explicitly initialize the member 'deltaRobot' which does not have a default constructor"

    DeltaKinematics deltaRobot(100); //this clearly isn't doing the trick

    cout << "Genetic Algorithmic search class initiated \n";
}

如何初始化该本地实例?

成员初始化列表:

GeneticAlgorithm::GeneticAlgorithm() : deltaRobot(100) {
}
GeneticAlgorithm::GeneticAlgorithm() : deltaRobot(100) {
    cout << "Genetic Algorithmic search class initiated \n";
}

注意:在构造函数名称之后:它是类的成员数据变量的初始化序列的开始。 它们显示为对其构造函数的调用,具有您想要传递的参数,并且应该与它们声明的顺序相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM