类模版继承中的虚函数使用示例
2006-11-16 09:40
633 查看
示例1:
template<typename T>
class CBaseTempl
{
private:
virtual void VirtualFun1() = 0
{
std::cout << "CBaseTempl::VirtualFun1" << endl;
}
};
template<typename T>
class CDerivedTempl : public CBaseTempl<T>
{
public:
virtual void VirtualFun1()
{
std::cout << "CDerivedTempl::VirtualFun1" << endl;
}
};
void AppMain()
{
CDerivedTempl<int> Obj;
Obj.VirtualFun1();
}
总结:必须实现基模版中的几个纯虚函数,可以改变这纯虚函数的访问权限,private->public,虚函数无论如何都能够被继承.
示例2:
template<typename T>
class CBaseTempl
{
private:
virtual void VirtualFun1()
{
std::cout << "CBaseTempl::VirtualFun1" << endl;
}
};
template<typename T>
class CDerivedTempl : public CBaseTempl<T>
{
public:
virtual void VirtualFun1()
{
std::cout << "CDerivedTempl::VirtualFun1" << endl;
}
}
void AppMain()
{
CDerivedTempl<int> Obj;
Obj.VirtualFun1();
}
总结:派生模版的虚函数能够覆盖基模版的虚函数.
template<typename T>
class CBaseTempl
{
private:
virtual void VirtualFun1() = 0
{
std::cout << "CBaseTempl::VirtualFun1" << endl;
}
};
template<typename T>
class CDerivedTempl : public CBaseTempl<T>
{
public:
virtual void VirtualFun1()
{
std::cout << "CDerivedTempl::VirtualFun1" << endl;
}
};
void AppMain()
{
CDerivedTempl<int> Obj;
Obj.VirtualFun1();
}
总结:必须实现基模版中的几个纯虚函数,可以改变这纯虚函数的访问权限,private->public,虚函数无论如何都能够被继承.
示例2:
template<typename T>
class CBaseTempl
{
private:
virtual void VirtualFun1()
{
std::cout << "CBaseTempl::VirtualFun1" << endl;
}
};
template<typename T>
class CDerivedTempl : public CBaseTempl<T>
{
public:
virtual void VirtualFun1()
{
std::cout << "CDerivedTempl::VirtualFun1" << endl;
}
}
void AppMain()
{
CDerivedTempl<int> Obj;
Obj.VirtualFun1();
}
总结:派生模版的虚函数能够覆盖基模版的虚函数.
相关文章推荐
- oracle 部分单行函数使用示例
- 使用'VRM_SET_VALUES'函数在selection屏幕上建一个Combobox控件示例
- Shell脚本中使用function(函数)示例
- Linux内核的ioctl函数学习2 - linux系统ioctl使用示例
- thinkPHP模板中函数的使用方法示例
- Oracle数据库常用函数使用示例
- JS document.all函数使用示例
- Aspose Word模版使用总结篇2带示例
- Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
- 子类重载父类的非虚成员函数是否对从父类中继承且使用该成员函数的方法的行为产生影响
- VB.NET的示例使用 AddressOf 运算符来指定线程的启动函数(多线程)
- jquery ready函数、css函数及text()使用示例
- PHP 使用header函数设置HTTP头的示例方法 表头 (xlsx下载)
- PHP中调试函数debug_backtrace的使用示例代码
- php中的filesystem文件系统函数介绍及使用示例
- 多态的实现方式,继承与模版函数
- 【Python】Pandas 的 apply 函数使用示例
- Yii使用smsto短信接口的函数demo示例
- 在SQL中使用CRL函数示例