刚学习QT的时候,跟着教程做一些简答的实验,教程简单的界面使用UI文件,直接在界面上拖一个按键,在右键go to slot,在编写槽函数。我以前没学过C++,一直以为这个自动跳转过去的slot函数是一个虚函数,只是在这儿reinpliment而已。今天尝试自己通过纯代码编写,找了半天也没找到这个所谓...
分类:
其他好文 时间:
2015-11-09 16:58:07
阅读次数:
383
开启GS编译项后,会对栈帧进行一些改变,将字符串变量移到栈帧的高地址,将指针参数和字符串参数复制到内存中低地址,在栈帧的EBP后压入一个随机的Security Cookie,同时在.data字段中也存在相应的值用于对比,实际上两个值是与EBP异或得来的。突破GS可以有虚函数(需要找到pop pop ...
分类:
其他好文 时间:
2015-11-04 19:14:40
阅读次数:
207
C++ 在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数,用法格式为:virtual 函数返回类型 函数名(参数表) {函数体};实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。....
分类:
编程语言 时间:
2015-11-04 19:13:48
阅读次数:
243
类模板
类模板多个类型默认类型简单数组模板
#pragma once
template //类模板可以有一个默认的值
class myArray
{
public:
myArray();
~myArray();
};
#include "myArray.h"
template //每一个函数都需要加上一个默认的值
myArray::myArray() //类模板成员函数在外部,...
分类:
编程语言 时间:
2015-11-03 13:50:29
阅读次数:
301
一、引言 ????好久没接触过C++了,今天突然要用一点感觉号蛋疼,用惯了python感觉C++一点都不会了。 声明了一个类的对象居然用这种方法,脑子绝对是被驴(python)踢了
class?A{
?...
?}
?a=A();//尼玛这...
分类:
编程语言 时间:
2015-11-02 19:38:25
阅读次数:
192
静态联合编译与动态联合编译
#include
#include
//散列
void go(int num)
{
}
void go(char *str)
{
}
//class
//::在一个类中
class A
{
public:
void go(int num)
{
}
void go(char *str)
{
}
};
void main()
{
/...
分类:
编程语言 时间:
2015-11-02 12:15:04
阅读次数:
153
13.6 Why does a destructor in base class need to be declared virtual?这道题问我们为啥基类中的析构函数要定义为虚函数。首先来看下面这段代码:class Foo {public: void f();};class Bar: pu...
分类:
其他好文 时间:
2015-10-31 08:00:23
阅读次数:
155
一般来说,有使用visual的类,其析构函数都需要加上visual,这是为什么呢?因为使用多态时,一般都是由基类指针来使用派生类的,在删除这个派生类对象时也一样,由基类指针来调用,可以想象,如果析构函数不是虚函数,那么使用基类指针来删除对象,就相当于告诉编译器,我要析构基类(在没使用visual时,...
分类:
其他好文 时间:
2015-10-30 16:58:43
阅读次数:
130
最近在写程序时,出现了对话框里面不接收键盘消息的情况,特别搜索了以下内容MFC中对话框是不会直接响应OnChar和OnKeyDown消息的,会被 其它控件拦截,测试时发现不会进入这两个函数,必须重定义PreTranslateMessage()虚函数才能正确地 进入这两个消息函数,具体实现如下: .....
分类:
编程语言 时间:
2015-10-29 13:05:36
阅读次数:
178
1.多态 多态是通过虚函数来实现的,也就是说虚函数是允许子类重新定义成员函数,而子类通过定义和父类一样的函数的方法,被成为覆盖或者是重写。 多态的作用,使得代码可以重用,代码模块化;函数重写: (1)子类定义的函数与父类原型相同的函数 (2)函数的重写只有发生在父类和子类之间class Parent...
分类:
其他好文 时间:
2015-10-28 17:19:04
阅读次数:
185