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