【发布时间】:2014-11-19 21:54:42
【问题描述】:
假设我用这个私有变量得到了一个“简单”类:std::vector m_listePoint;哪个构造函数是
Simple(EnumCouleur::tEnumCouleur c,vector<Point> listeP);
(couleur 继承自她的母亲类)
我有另一个类是“Circle”(“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);
}
我收到一条错误消息,提示 Simple 没有默认构造函数。
我知道基本上我应该这样做:
Cercle::Cercle( const Point centre, const double rayon, EnumCouleur::tEnumCouleur v) : m_rayon(rayon), Simple(...)
问题是:那么如何构建向量呢?
这可能是一个我不知道的愚蠢问题,我来自 java,这就是为什么我使用 super 并且可能是不好的方式......
【问题讨论】:
-
你的例子中是什么...?
-
@Mordachai 你可以,你在初始化列表中做。
-
不要使用非标准的 C++ 扩展。
__super是一个。 -
@Mordachai 哦,抱歉我没看到。