Temel olarak, geneticAlgorithm
C++ - Bir sınıfın yapıcısından ayrı bir sınıfın kurucusunu nasıl başlatırım?
sınıfında deltaKinematics
sınıfının yerel (ve özel) bir örneğini oluşturmaktır. geneticAlgorithm.h
dosyasında
class DeltaKinematics; //class is defined in separate linked files
class GeneticAlgorithm {
//private
DeltaKinematics deltaRobot;
public:
GeneticAlgorithm(); //constructor
};
var. GeneticAlgorithm
kurucusunu bildirmeye gittiğimde, DeltaKinematics
örneğinin nasıl yapılandırılacağını öğrenemiyorum Bu geneticAlgorithm.cpp
yapıcısıdır:
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";
}
Bu yerel örneği başlatma hakkında nasıl giderim?
Teşekkürler. İlgi dışı, bu dil yapısının adı nedir? Ben C++ için çok yeni ve hala jargon üzerinde bir kavrama almak –
Bu taban sınıfları ve üye değişkenleri başlatmak için kullanılan bir üye başlatıcı listesi. Sipariş üyesi değişkenlerinde çağrılacaklarının, bunları belirttiğiniz sırada değil, * bildirildiğini * unutmayın. Bu gibi birden fazla üye başlatabilirsiniz: Foo :: Foo(): BaseClass (0), MemVar (1), AnotherMemVar (2) {} ' – Erik
eğer 100 bir sabit değil ama bir değişken gerekli ise mantık Kurucuya iletilmeden önce hesaplanacak – Alexander