, допустим, у меня есть класс «Простой» с этим приватным var: std :: vector m_listePoint; который конструкторНаследование и STL-вектор
Simple(EnumCouleur::tEnumCouleur c,vector<Point> listeP);
(Couleur наследуется от ее матери класса)
я получил еще один класс, который является «Круг» (дочерний класс от «Simple»), с 2-мя переменными: 1 очко, 1 радиус Вот конструктор я пробовал:
Cercle::Cercle(const Point centre, const double rayon, EnumCouleur::tEnumCouleur v)
{
m_rayon = rayon;
vector<Point> liste;
liste.push_back(centre);
__super::Simple(v,liste);
}
я получил ошибку говоря просто оленья кожа имеет конструктор по умолчанию.
Я знаю, что в принципе я должен делать это так:
Cercle::Cercle(const Point centre, const double rayon, EnumCouleur::tEnumCouleur v) : m_rayon(rayon), Simple(...)
проблема: как построить вектор тогда?
Это может быть глупый вопрос, я не знаю, я пришел от Java, поэтому я использовал супер и может быть плохим способом ...
Я нашел это здесь: http://stackoverflow.com/questions/4424216/c-equivalent-of-super – Niko
Что такое ... в вашем примере? –
вы не можете вызвать другой конструктор из тела другой функции, даже другого конструктора. – Mordachai