class Dog: public Animal 下面少了一個(gè){
#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;
/**
?* 定義動(dòng)物類:Animal
?* 虛函數(shù):eat()
?* 純虛函數(shù):move()
?* 數(shù)據(jù)成員:m_strName
?*/
class Animal
{
public:
? ? // 默認(rèn)構(gòu)造函數(shù)
? ? Animal(){}
? ? // 含參構(gòu)造函數(shù)
Animal(string name){m_strName = name; cout << "Animal" << endl;}
? ? // 虛析構(gòu)函數(shù)
virtual ~Animal(){cout << "~Animal" << endl;}
? ? // 虛成員函數(shù)
virtual void eat(){cout << "Animal--" << m_strName << "-- eat" << endl;}
? ? // 純虛函數(shù)
virtual void move() = 0;
public:
? ? // 數(shù)據(jù)成員
string m_strName;
};
/**
?* 定義狗類:Dog
?* 公有繼承動(dòng)物類
?* 虛成員函數(shù):eat()、move()
?*/
class Dog : public Person
{
public:
? ? // 默認(rèn)構(gòu)造函數(shù)
? ? Dog(){}
? ? // 含參構(gòu)造函數(shù)
Dog(string name){m_strName = name; cout << "Dog" << endl;}
? ? // 虛析構(gòu)函數(shù)
virtual ~Dog(){cout << "~Dog" << endl;}
? ? // 虛成員函數(shù)eat()
virtual void eat(){cout << "Dog--" << m_strName << " -- eat" << endl;}
? ? // 虛成員函數(shù)move()
virtual void move(){cout << "Dog--" << m_strName << " -- move" << endl;}
public:
? ? // 數(shù)據(jù)成員
string m_strName;
};
int main(void)
{
? ? // 通過動(dòng)物類實(shí)例化狗類
? ? Animal *p = new Dog("狗類");
? ? // 調(diào)用成員函數(shù)
p->eat();
? ? p->move();
? ? // 釋放內(nèi)存
delete p;
p = NULL;
? ??
return 0;
}
//按照提示通過了,還需要加深理解
2020-05-03
棒棒噠
2019-04-28
是的,問題就出在了老師給的代碼中少了一個(gè){