c++程序调试不通 动物类系
#include <iostream.h>
#include <string.h>
#define FALSE 0
#define TRUE 1
class Animal
{
public:
Animal(const char*s);
const char*GetName(){return name;}
private:
char name[30];
};
class Mammal:public Animal
{
public:
Mammal(const char*s,int nc);
int NumOffspring(){return offspring;}
private:
int offspring;
};
class Bird:public Animal
{
public:
Bird(const char*s,int ne,int nests);
int GetEggs(){return eggs;}
const char*BuildNest();
private:
int eggs;
int nesting;
};
void ShowMammal(Mammal& m);
void ShowBird(Bird&b);
void main()
{
Mammal homoSapiens( "Homo Sapiens ",1);
Mammal gopher( "Gopher ",9);
Mammal armadillo( "Armadillo ",4);
Mammal houseMouse( "House Mouse ",12);
Bird woodDuck( "wood Duck ",15,FALSE);
Bird sandhillCrane( "Sandhill Crane ",2,TRUE);
Bird loon( "Loon ",3,TRUE);
cout < < "\nMammals:\n ";
ShowMammal(homoSapiens);
ShowMammal(gopher);
ShowMammal(armadillo);
ShowMammal(houseMouse);
cout < < "\nBirds:\n ";
ShowBird(woodDuck);
ShowBird(sandhillCrane);
ShowBird(loon);
}
void ShowMammal(Mammal&m)
{
cout < < "Name........... " < <(m.GetName()) < <endl;
cout < < "Avg offspring.. " < <(m.NumOffspring()) < <endl;
}
void ShowBird(Bird&b)
{
cout < < "Name.......... " < <(b.GetName()) < <endl;
cout < < "Avg no.eggs..... " < <(b.GetEggs()) < <endl;
cout < < "Builds a nest.... " < <(b.BuildNest()) < <endl;
}
Animal::Animal(const char*s)
{
strncpy(name,s,29);
}
Mammal::Mammal(const char*s,int nc):Animal(s)
{
offspring=nc;
}
Bird::Bird(const char*s,int ne,int nests):Animal(s)
{
eggs=ne;
nesting=nests;
}
const char*BuildNest()
{
if( nesting )
return "True ";
else
return "False ";
}
出错提示:
--------------------Configuration: c++50 - Win32 Debug--------------------
Compiling...
c++50.cpp
E:\C语言上机调试\c++50.cpp(81) : error C2065: 'nesting ' : undeclared identifier
Error executing cl.exe.
c++50.obj - 1 error(s), 0 warning(s)
请大家帮忙!谢谢
[解决办法]
const char*BuildNest()
{
.........
}
==============>
const char*Bird::BuildNest()
{
...........
}