基类变量“未在其范围内声明”

时间:2013-11-26 16:00:43

标签: c++ inheritance

我正在尝试通过C ++继承,我的代码有问题。我有从它派生的基类Caine和CaineCuPete。当我声明派生类构造函数时,我收到错误。

CaineCuPete(int nPete) : Caine(cNume,cHeight,cWeight,cAge,cColor);

错误:

  

cNume未在其范围内声明。 cHeight未在其中声明   范围。 ...

2 个答案:

答案 0 :(得分:2)

您需要在派生类构造函数中将这些作为输入参数。

CaineCuPete(int nPete, string cNume, double cHeight, 
    double cWeight, double cAge, int cColor ) : Caine(cNume,cHeight,cWeight,cAge,cColor),
Pete ( nPete )
{
}

此链接说明: http://www.learncpp.com/cpp-tutorial/114-constructors-and-initialization-of-derived-classes/

答案 1 :(得分:1)

您应该在首次使用之前定义变量cNume,cHeight,cWeight,cAge,cColor。一个常见的问题是它们是在使用点之后而不是之前定义的。