刚刚编辑好的内容没保存,现在只好重新码。。。
对类继承中牵扯到指针指向类对象的调用以及有虚函数的时候一直既不牢固,于是自己编了一个实例来加深印象。
实例很简单,定义一个基类和子类,基类有两个函数talk和eat,其中eat用virtual关键字声明,在子类中重写了talk和eat函数以示区分,为了能分辨出来到底调用了基类还是子类的函数。
#include<iostream>
#include<string>
using namespace std;
class Base
{
public:
string name;
int age;
Base(string _name,int _age):name(_name),age(_age){}
void talk()
{
cout<<name<<" is talking"<<endl;
}
virtual void eat()
{
cout<<name<<" is eating"<<endl;
}
};
class Son:public Base
{
public:
int height;
Son(string _name,int _age,int _h):Base(_name,_age)
{
height=_h;
}
void talk()
{
cout<<name<<",whose height is "<<height<<",is talking loudly!"<<endl;
}
void eat()
{
cout<<name<<" is eating fast!"<<endl;
}
};
int main()
{
Base