- 博客(4)
- 收藏
- 关注
原创 C++的构造函数和析构函数
构造函数是什么,从构造这个词可以理解为在创建对象前必须得调用的函数,所以构造函数不是给对象调用的,而是拿来创建对象的,构造函数调用肯定先于对象被创建。而且构造函数是不能够被继承的,不管是public还是protected,private。这就意味着我们在写一个类时,我们得写构造函数,如果不写,系统自动默认什么有一个也没做的无参构造函数。如果我们写了构造函数,系统就不会默认构造函数,那么如果你没定义无参构造函数定义了有参构造函数却调用无参的构造函数去创建对象,那么编译会报错。
2015-09-10 22:51:50 481
原创 C++的重载、隐藏和重写
学习c++过程中,我们必须对重载、隐藏和重写的特性进行了解并且对他们进行区分。那么我们首先来了解重载的概念。在相同作用域中,当有几个函数名相同,参数不同的函数我们称为重载。例如下面的代码: class Base { public: Base(); virtual ~Base(); void fun(int); void fun(string); }; Base::Base() { //
2015-09-08 22:43:49 833
原创 QT事件(4)
QT事件(3)里说到了event函数有屏蔽拦截事件的功能,但是当有很多组件的时候,岂不是要重写很多个event函数?而且重写event函数还得注意一大堆问题,比如说什么时候去调用父类的event函数等问题。那么这个时候我们可以用QT提供的事件过滤器eventFilter(QObject *obj, QEvent *e),这个函数相当于创建一个过滤器,属于QObject里的成员函数,obj表示要监视
2015-09-08 10:35:21 589
原创 QT事件(3)
之前的文章说的都是具体事件处理函数,比如mousePressEvent(QMoseEvent *event)这种函数就是具体的事件处理函数,他是专门处理鼠标press的,那么究竟是谁去区分是鼠标事件还是键盘事件或者是其他的事件,然后再扔给具体事件处理函数去处理呢?下面我们看下一个源码大致模型: bool QObject::event(QEvent *e) { switch (e->typ
2015-09-07 15:37:23 442
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人