网站开发公司需要什么资质,留言板网站模板,wordpress底部导航主题,怎样做寻亲网站志愿者目录
子类继承父类重载
类成员函数重载 继承和组合的三种方式请看我上一篇文章
C笔记#xff08;二#xff09;--- 继承和组合-CSDN博客
子类继承父类重载
当子类继承父类之后#xff0c;子类重新定义了一个和父类完全相同函数名称的函数时#xff0c;会将父类所有相同…目录
子类继承父类重载
类成员函数重载 继承和组合的三种方式请看我上一篇文章
C笔记二--- 继承和组合-CSDN博客
子类继承父类重载
当子类继承父类之后子类重新定义了一个和父类完全相同函数名称的函数时会将父类所有相同函数名的函数覆盖掉 class person
{
public:person(){}void printf(){ cout This is person no parameter printf! endl;}void printf(string s} { cout This is person printf : s endl;}
};class student : public person
{
public:student():person(){}void printf(){ cout This is student no parameter printf! endl; }
};int main(void)
{student s;s.printf();//正确输出 This is student no parameter printf!
// s.printf(Hello World!); //报错“school::printf”: 函数不接受 1 个参数//因为子类将父类所有的printf函数都屏蔽删除了包括printf(string s);
}
类成员函数重载
重载函数需要注意两点
1.必须个数或对应位置参数至少有一项不相同2.仅仅返回值不同不能作为重载判断依据
class A
{
public:void printf(int a){ cout a: a endl; }
// int printf(int a){ cout a: a endl; }//报错 重载函数与“void A::printf(int)”只是在返回类型上不同void printf(string s) { cout s : s endl; }//正确与第一个printf参数类型不同void printf(string s, int a) { cout s : s a : a endl; }//正确与上一个printf参数个数不同void printf(int a, string s) { cout a : a s : s endl; } //正确与上一条printf对应位置的参数类型不同
};