动物类继承与派生c++
时间: 2024-09-10 14:17:14 浏览: 63
在C++中,动物类继承与派生是一种创建类层次结构的方式,允许我们定义一个通用的"动物"基类,然后衍生出更具体的子类,比如"狗"、"猫"等。这种设计模式被称为继承。以下是基本的步骤:
1. **声明基类**:首先,创建一个名为Animal的基本类,包含所有动物共有的属性(如名字、年龄)和方法(如吃食物、睡觉)。
```cpp
class Animal {
public:
// 基本属性和方法
std::string name;
int age;
virtual void eat() { /* 每个动物吃东西的默认行为 */ }
virtual void sleep() { /* 每个动物睡眠的默认行为 */ }
};
```
2. **派生子类**:接着,我们可以定义如Dog和Cat这样的子类,它们从Animal类继承,并可以添加自己的特性或覆盖父类的方法。
```cpp
class Dog : public Animal {
public:
void bark(); // 狗特有的行为
};
class Cat : public Animal {
public:
void meow(); // 猫特有的行为
};
```
3. **访问权限和多态**:由于`eat()`和`sleep()`是虚函数(virtual),在子类中重写后,即使通过基类引用调用,也会执行实际子类的版本,这就是多态的一个体现。
```cpp
// 子类实现
void Dog::bark() {
std::cout << "Woof!" << std::endl;
}
void Cat::meow() {
std::cout << "Meow!" << std endl;
}
```
阅读全文