读书人

问个程序,该怎么处理

发布时间: 2012-02-25 10:01:49 作者: rapoo

问个程序

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";}
};
[解决办法]
引用楼主 yxlovemoney 的帖子:
C/C++ code
#include<iostream>
using namespace std;

class Cat:public Animal
{
Cat(){}
void Meaw(){cout << "meaw\n";}
};
...

读书人网 >C++

热点推荐