|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
抽象方法一般格式 virtual void run() = 0 ;
基类析构函数要加virtual,否则会有警告
如果基类有抽象函数(也叫纯虚函数),那么子类一定要实现该方法,否则会报错
- #include <iostream>
- using std::cout;
- using std::endl;
- using std::string;
- class Animal
- {
- public:
- Animal(string name);
- virtual ~Animal();
- virtual void run() = 0 ;
- protected:
- string name ;
- };
- Animal::Animal(string name)
- {
- this->name = name ;
- }
- Animal::~Animal()
- {
- }
- class Dog : public Animal
- {
- public:
- Dog(string name);
- ~Dog();
- virtual void run();
- };
- Dog::Dog(string name):Animal(name)
- {
- }
- Dog::~Dog()
- {
- }
- void Dog::run()
- {
- cout<<"我叫"<<name<<",我跑步时乱蹦乱跳"<<endl;
- }
- int main()
- {
- Dog* dog = new Dog("教主");
- dog->run();
- delete dog ;
- return 0;
- }
复制代码
|
|