基本上我想實現是班上geneticAlgorithm
C++ - 我如何從類的構造函數初始化一個單獨的類的構造函數?
創建類deltaKinematics
的地方(私人)實例在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";
}
我該如何去初始化本地實例呢?
謝謝@Erik多數民衆贊成在我之後。出於興趣,該語言結構的名稱是什麼?我對C++很陌生,但仍然掌握了一些術語 – 2011-05-19 07:26:20
這是一個成員初始化列表,用於初始化基類和成員變量。請注意,它們將按順序調用成員變量*聲明*,而不是按照您指定的順序。你可以像這樣初始化多個成員:'Foo :: Foo():BaseClass(0),MemVar(1),AnotherMemVar(2){}' – Erik 2011-05-19 07:28:07
如果100不是一個常量而是一個變量所需的某些邏輯在傳遞給構造函數之前進行計算 – Alexander 2014-01-01 22:18:24