如果父类与子类中拥有同名的函数:

 

1. 如果父类函数前没有virtual,且父子同名函数的参数列表不同(参数个数、类型和顺序至少有一个不同),

则构成重载,用父类指针调用该函数名,调用的是子类函数,父类函数被覆盖 / 隐藏 / 不可见

(注:若两个函数参数列表相同,只有返回值类型不同,不构成重载)

 

2. 如果父类函数前有virtual,且父子同名函数的参数列表相同,

则构成多态,用父类指针调用该函数名,看指针指向的是父类对象还是子类对象,指向父类对象调用的是父类函数,指向子类对象调用的是子类函数

 

posted on 2023-06-10 00:22  wkxnk  阅读(10)  评论(0编辑  收藏  举报