在c++中实现接口
·
C++本身没有提供接口 但是可以通过纯虚函数来模拟接口
1. 定义接口(抽象类)
纯虚函数:
在虚函数后面 添加 “= 0” 即为纯虚函数
包含纯虚函数的类不能实例化
纯虚函数不进行默认实现 在子类必须实现
class Animal {
public:
virtual void Say() const = 0;
};
2. 实现接口
子类通过公有继承接口,并使用 override 关键字显式实现纯虚函数:
由于c++中支持多继承 所以一个类自然可以实现多个接口
class Cat : public Animal {
public:
void Say() const override {
std::cout << "小猫喵喵叫!" << std::endl;
}
};
class Dog : public Animal {
public:
void Say() const override {
std::cout << "小狗汪汪叫!" << std::endl;
}
};
3.调用接口
用父类指针指向子类指针 或
用父类引用引用子类对象
调用接口方法
//指针
Animal* AnimalCat=new Cat;
AnimalCat->Say(); //输出小猫喵喵叫!
Animal* AnimalDog=new Dog;
AnimalDog->Say(); //输出小狗汪汪叫!
//引用
Dog Mydog;
Animal& RefAnimalDog=Mydog;
RefAnimalDog.Say(); //输出小狗汪汪叫!
更多推荐
所有评论(0)