1 基类指针指向基类对象(正常使用)
2 派生类指针指向派生类对象(函数名相同,不管是不是虚函数,调用的都是派生类的函数)
3 基类指针指向派生类对象(函数名相同,虚函数的话调用的是派生类的,非虚函数的话调用的是基类的)
4 派生类指针指向基类对象(一般不要这么用)
参考资料:
http://blog.csdn.net/monkeyduck/article/details/155...
分类:
其他好文 时间:
2014-05-05 13:15:52
阅读次数:
273
在看项目代码时,发现有个调用,明明调用的函数基类的,搞不懂为什么会调用到派生类的,这是个虚函数,我想肯定是指针的问题,我又想到了是绑定时候的问题thrTransData::thrTransData(){
m_spTimerFactory = NEWSP(TimerFactory); ne...
分类:
其他好文 时间:
2014-05-04 10:28:00
阅读次数:
220
6.5 继承
当然,一门语言特性如果不支持继承那么名称类就失去了价值。子类继承父类的方法如下:
class DerivedClassName(BaseClassName):
.
.
.
名称BaseClassName必须定义在一个包含派生类定义的作用域中。在基类名称的位置上,其他随意表达式都是允许的、例如,当基类定义在其他模块中,这也是可用的。
class DerivedCl...
分类:
编程语言 时间:
2014-05-04 08:59:32
阅读次数:
364
继承是面向对象的重要特征,它可以提高代码的复用性,从而减少某些代码的重写。继承可以分为单继承和多重继承。python中指定基类的方法是定义派生类时在括号中写入基类的名字,如class derive(base).python可以使用两种单继承的方法...
分类:
编程语言 时间:
2014-05-03 23:50:53
阅读次数:
458
在派生类中序列化一个基类
假如有一个基类如下:
class student_info
{
public:
student_info() {}
virtual ~student_info() {}
student_info(const std::string& sn, const std::string& snm, const std::string& sg)
: name_(sn),...
分类:
其他好文 时间:
2014-05-03 21:41:12
阅读次数:
356
本篇是boost::serialization 用基类指针转存派生类(错误多多,一波三折)的姊妹篇,这里只不过做一个总结。
先来看一个基类
class base_class
{
public:
base_class(int m=0) : base_member_(0) {}
virtual ~base_class() {}
virtual void print_data() = 0;
...
分类:
其他好文 时间:
2014-05-03 21:24:33
阅读次数:
247
boost::serialization 也支持c++的多态,这样我们就可以通过使用基类的指针来转存派生类,
我们接着上一篇(
boost::serialization(2)序列化基类
)的例子来看:
基类和派生类的代码如下:
class student_info
{
public:
student_info() {}
virtual ~student_info() {}
s...
分类:
其他好文 时间:
2014-05-03 21:08:18
阅读次数:
280
提出疑问
当我们新建一个Qt的图形工程时,你有没有对如下代码感到好奇?MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow) 派生类继承的基类不同以往,竟然是带有参数的,那么这个怎么理解呢?...
分类:
编程语言 时间:
2014-05-03 16:27:01
阅读次数:
344
一、万物之宗:Object
(1)除了特殊的Object类,其他所有类都是派生类,即使他们没有显示基类定义。 (2)一个派生类只能有一个基类,叫做单继承。二、基类那点事儿
(1)如何在派生类中访问基类成员?使用base关键字,如base.Field1; (2)如何屏蔽基类中某个方法或成员?在...
分类:
其他好文 时间:
2014-05-01 19:06:42
阅读次数:
437
一。
1.基类的私有成员仅在基类中可见,而在派生类中是不可见的,基类的私有成员可以由派生类继承,但在派生类中不可见
2.使用using声明可以改变成员在派生类中的访问权限。比如,基类中的共有成员在一般情况下被继承为共有成员,但使用using 声明可以将其改为私有成员...
分类:
其他好文 时间:
2014-05-01 18:57:11
阅读次数:
231