类的兼容性C++
时间: 2023-07-30 10:05:54 浏览: 49
在 C++ 中,类的兼容性是通过继承和多态实现的。子类可以继承父类的属性和方法,并且可以重写父类的方法,从而实现多态。在使用多态时,可以将子类对象赋值给父类对象,从而实现类的兼容性。
例如,有一个基类 Animal 和两个派生类 Cat 和 Dog,它们都有一个方法叫做 Sound(),但是它们的实现不同。
```c++
class Animal {
public:
virtual void Sound() {
cout << "Animal sound" << endl;
}
};
class Cat : public Animal {
public:
void Sound() {
cout << "Meow" << endl;
}
};
class Dog : public Animal {
public:
void Sound() {
cout << "Woof" << endl;
}
};
```
现在,可以将 Cat 和 Dog 对象赋值给 Animal 指针,从而实现类的兼容性。
```c++
Animal* animalPtr;
Cat cat;
Dog dog;
animalPtr = &cat;
animalPtr->Sound(); // Output: Meow
animalPtr = &dog;
animalPtr->Sound(); // Output: Woof
```
在这个例子中,Cat 和 Dog 类型的对象都可以赋值给 Animal 类型的指针,因为它们都是 Animal 的子类。这种方式可以实现类的兼容性。