C++多态(二)纯虚函数和抽象类

前一篇文章初步了解多态,点击即可查看

纯虚函数语法virtual 返回类型 函数名(参数列表)=0;

  1. 当类中有了纯虚函数,该类也称之为抽象类

抽象类特征:

  1. 抽象类不能被实例化。
  2. 抽象类的子类必须重写纯虚函数,否则也为抽象类。
#include
using namespace std;

class animal {

public:
	virtual void speak() = 0;//纯虚函数
};

class dog :public animal {
public:
	void speak() {
		cout << "我是小狗,汪汪汪!" << endl;
	}

};

class cat :public animal {
public:
	void speak() {
		cout << "我是小喵,喵喵喵!" << endl;
	}

};


int main() {

	
	animal* f1 =new dog; 
	f1->speak();//我是小狗,汪汪汪!
	delete f1;
	animal* f2 = new cat;
	f2->speak();//我是小喵,喵喵喵!
	delete f2;
}

你可能感兴趣的:(C++,抽象类,多态)