问个程序
- C/C++ code
#include <iostream>
using namespace std;
class Animal
{
public:
Animal(){}
void eat(){cout < < "eat\n";}
};
class Giraffe:private Animal
{
public:
Giraffe(){}
void StrechNeck(double){cout < < "strech neck\n";}
};
class Cat:public Animal
{
Cat(){}
void Meaw(){cout < < "meaw\n";}
};
void Func(Animal &an)
{
an.eat();
}
void main()
{
Cat dao;
//Giraffe gir;
Func(dao);
}
为什么会报错呢?书上说可以的...
[解决办法]
Your constructor of Cat class should be public ...
[解决办法]
class Cat:public Animal
{
// 少了个public 默认是private的,下面定义Cat dao;时需要调用构造函数
public:
Cat(){}
void Meaw(){cout << "meaw\n";}
};
[解决办法]