子类重载父类的虚函数
来源:互联网 发布:ubuntu kylin什么意思 编辑:程序博客网 时间:2024/06/05 20:57
/*
如果派生类不止派生了与基类虚函数相同类型的参数,
还重载了该函数的情况验证。
结论:子类调用时可以通过参数类型来判断调用那个成员函数,相当于普通函数的重载
父类指针实现多态还是可以的,只是只能调用那个参数类型与父类虚函数参数类型相同的函数
*/
#include <iostream>
using namespace std;
class CBase
{
public:
virtual void Print(int a)
{
cout << "This is Base virtual fun!" << endl;
}
};
class Cdeprived : public CBase
{
public:
void Print (int a)
{
cout << "This is deprived class virtual fun!"<< endl;
}
void Print (const string &b)
{
cout << "no virtual" << b << endl;
}
};
int main()
{
CBase *base = new Cdeprived();
base->Print(123);
Cdeprived CBase ;
CBase.Print("123");
CBase.Print(123);
return 0;
}
如果派生类不止派生了与基类虚函数相同类型的参数,
还重载了该函数的情况验证。
结论:子类调用时可以通过参数类型来判断调用那个成员函数,相当于普通函数的重载
父类指针实现多态还是可以的,只是只能调用那个参数类型与父类虚函数参数类型相同的函数
*/
#include <iostream>
using namespace std;
class CBase
{
public:
virtual void Print(int a)
{
cout << "This is Base virtual fun!" << endl;
}
};
class Cdeprived : public CBase
{
public:
void Print (int a)
{
cout << "This is deprived class virtual fun!"<< endl;
}
void Print (const string &b)
{
cout << "no virtual" << b << endl;
}
};
int main()
{
CBase *base = new Cdeprived();
base->Print(123);
Cdeprived CBase ;
CBase.Print("123");
CBase.Print(123);
return 0;
}
- 子类重载父类的虚函数
- 子类、父类之间实现函数重载
- 子类重载父中的函数
- c++ 子类“重载”父类的方法
- 子类重载父类成员函数时父类的成员函数将隐藏
- C++父类子类间函数重定义,虚函数重写(覆盖)以及重载
- C++父类子类间函数重定义,虚函数重写(覆盖)以及重载
- 在父类和子类中定义重载函数
- 在父类和子类中定义重载函数 心得
- C++ 子类不能重载父类函数 解决方法
- C语言使用技巧3:C++中子类调用父类重载函数的方法
- 子类对于父类虚函数的重载
- java 子类重载父类
- 子类重载父类的非虚成员函数是否对从父类中继承且使用该成员函数的方法的行为产生影响
- 子类重载父类的非虚成员函数是否对从父类中继承且使用该成员函数的方法的行为产生影响
- 面向对象 子类中 < 重载 重写 >父类的方法
- 继承、访问控制符、子类重载父类的方法、子类调用父类的方法
- 子类与父类,以及子类的继承,重载与重写。
- 修改Oracle数据库的连接数
- c++基础知识
- java swing jtree简单界面使用
- 练习:一维数组
- 通过GRUB引导U盘为引导活动区,从硬盘安装win8 64bit
- 子类重载父类的虚函数
- 练习:试编写一个函数ChangeSize2D 来改变一个二维数组的大小
- 【擅长排列的小明 19】
- Win8 x64一个程序打印出各种基本类型、几个指针类型
- 数塔推广之矩形嵌套
- Hibernate的映射类型
- 多维数组示例
- IPTV监测和测试设备
- 打印字母 'a' .. 'z' 和数字 '0' .. '9' ASCII码