重载是对方法的重写,通过不同的传参,能够达到不覆盖原来的方法,与原来方法共存的目的
#include <iostream>
#include <string>
//吃的参数不同,调用对应的函数
class Animal
{
public:
Animal(std::string theName);
void eat();
void eat(int eatCount);
void sleep();
private:
std::string name;
};
class Pig:public Animal
{
public:
Pig(std::string theName);
void climb();
};
Animal::Animal(std::string theName)
{
name = theName;
}
void Animal::eat()
{
std::cout<<"吃(未重载)"<<std::endl;
}
void Animal::eat(int eatCount)
{
std::cout<<"吃了(重载)"<< eatCount <<"碗"<<std::endl;
}
Pig::Pig(std::string theName):Animal(theName)
{
}
void Pig::climb()
{
std::cout<<"小猪爬树"<<std::endl;
}
int main()
{
Pig pig("小猪");
pig.climb();
pig.eat();
pig.eat(15);
return 0;
}