簡體   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