自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

行者

求则得之,舍则失之,是求有益于得也,求在我者也。

  • 博客(13)
  • 资源 (7)
  • 收藏
  • 关注

原创 虚函数与动态绑定的那点事

面向对象编程的概念1)多态:简单理解就是多种形态,通过继承而相关联的类型,特别在运行的情况下,对象可能是基类也可能派生类类型1)继承:能够对类型之间的关系建模,共享公共的东西,仅仅特化本质上不同的东西。定义为virtual的函数是基类期待派生类重新定义的,基类不希望派生类继承的则定义为非虚函数,这样类就有虚函数与非虚函数之分2)动态绑定:使程序使用继承层次中任意类型的对象,无需关心具体的类型。在C++,通过引用或者指针调用虚函数,发生动态绑定,引用或指针既可以指向基类对象也可以指向派生类

2014-02-27 14:10:44 2974 1

原创 调用操作符和函数对象

引言什么是调用操作符和函数对象呢?就是调用操作符看起来像是调用函数,如下设计的一个类,是用来求一个整数的绝对值的,如下类struct absInt{ int operator()(int a) { return (a < 0)? -a: a; }};如下调用 int nVal = -1234; absInt abs; int nPosVal = abs.o

2014-02-25 22:46:16 1181

原创 成员操作符剖析

前面的操作符都比较一般,但是这里的调用就有点小不同了,如下设计的类(与智能指针类似)class ScrPtr{public: friend class ScreenPtr; friend class ScrPtrTest; //这个先不用管,后面我会用到 ScrPtr(screen* p):sp(p),count(1) { }; ~ScrPtr() { /*delete sp;*/

2014-02-25 22:28:05 1691

原创 下标操作符

有一个vector存储的容器,用下标操作返回容器内的元素,类设计如下:class Index{public: friend ostream& operator<<(ostream& os, const Index& org); Index(void); ~Index(void); int& operator[] (const size_t); const int& opera

2014-02-25 22:07:28 1625

原创 算法操作符和关系操作符

类设计如下:class sales_item{public: friend istream& operator>>(istream&, sales_item&); friend ostream& operator<<(ostream&, const sales_item&); friend sales_item operator+(const sales_item& sale1, c

2014-02-25 21:55:28 1057

原创 输入和输出重载操作符

类的设计如下:class sales_item{public: friend istream& operator>>(istream&, sales_item&); friend ostream& operator<<(ostream&, const sales_item&); //explicit sales_item(void); // 防止隐式转换 sales_item(v

2014-02-22 18:45:26 1583

原创 C++重载操作符

重载操作符原型:返回类型 operator操作符(形参);注意事项:(1)不能通过连接其他合法符号来创建任何新的操作符,如下是错误的: sales_item operator**(const sales_item &org); //error 不能通过连接其他合法操作符来创建任何新的操作符 (2)重载操作符必须一个具有类类型,类成员的话因为有一个默认的本类this

2014-02-22 18:45:08 1008

原创 谈VS2012平台下 += 与 ++ 的关系

今天闲来无事,再次调试这个问题,发现微软的编译器还真是奇葩,经常遇到++与+=的混合计算,如下: int a =1, b=3, c=10; int e, f; int d = 5; ++d += (e=++d) + c; (1) d +=(e=d++) + c; (2) ++d +=(e=d++) + c; (3) cout << d << “ ”<<e<< endl;分别对上述

2014-02-22 12:00:31 1203

原创 智能指针

前景摘要1)在复制控制里面,一般复制成员都是复制其值,复制指针只复制指针的地址,而不会复制指针指向的对象。2) 将一个指针复制到另一个指针时,两个指针指向同一对象,删除其中任意一个,都对另一个有硬性,特别是动态分配的内存,会导致程序崩溃。3) 如何使用指针呢?这里就牵涉几种情况:a)指针成员采取常规指针行为 :指针的缺陷但无需特殊的复制控制b)类采取智能指针行为:指针指

2014-02-21 15:07:59 952

原创 消息处理实例解说

Message处理消息,Folder存放Message消息,一个Message消息可以放入多个文件夹Folder,一个Folder可以存放多个Message按照此种方式设置了Message类插入消息,移除消息,将消息放入所有文件夹,移除所有文件夹中的消息,Folder类存放消息,移除消息class Folder;class Message{public: Message(const

2014-02-19 16:02:13 1125

原创 C++赋值操作符与析构函数

赋值操作符的定义:1)赋值操作符,就是常用变量赋值的“=”,将一个玩意赋值给另一个玩意2)默认形式:classType & operator=(const classType &);operator后面紧跟要重载的操作符就是操作符重载的默认形式;形参是本类类型的引用,默认第一个形参就是类类型对象自己的指针this;返回类型就是类类型的引用合成赋值操作符:合成赋值操作符也是采用

2014-02-18 16:44:46 1201

原创 C++复制构造函数

复制构造函数、赋值操作符、析构函数总称为复制控制复制构造函数定义:是一种特殊的构造函数,具有单个形参,该形参(常用const修饰)是对该类类型的引用用于的情况:1)初始化对象 ,根据另一个同类型的对象显式或隐式初始化它复制对象2)作为实参传给函数时,复制这个对象3)函数返回时,复制对象4)初始化顺序容器中的元素5)根据元素初始化列表初始化数组元素1. 对象的定义

2014-02-17 13:45:09 957

原创 C++构造函数

C++中构造函数是特殊的成员函数,只要定义类的新对象就会执行构造函数,构造函数是保证每个对象的数据成员具有合适的初始值。构造函数特点:1)构造函数与类同名,不能指定返回类型,且不能声明为const函数,详见const的使用2)构造函数可以重载,所以可以有多个构造函数 sales_item(void) /*const*/; sales_item(istream &is /*= ci

2014-02-13 15:43:25 945

超级滚动条皮肤可自由定制,可换肤,有三态变化

超级滚动条皮肤可自由定制,可换肤,有三态变化,可以满足你替换系统自带滚动条

2014-11-08

MFC自带滚动条可替换

自由替换Windows自带滚动条,只有你想不到的,没有你做不到的

2014-11-08

pl_sql与t-sql的区别

pl_sql与t-sql的区别,看看就知道神马玩意了

2013-11-05

Mini2440 Nor Flash 芯片手册(S29AL016J_00)

Mini2440 Nor Flash 芯片手册(S29AL016J_00),这个在网上很不容易找到,而且无论国嵌还是友善都没有提供此芯片的手册,移植这个芯片其实可以有很多种,基本兼容CFI标准的,都可以驱使nor flash正常工作

2013-06-17

国嵌Mini2440课程演示代码

基本汇聚了国嵌Mini2440课程演示代码,对大家都有所帮助

2013-06-05

国嵌实验手册mini2440(Word版)

国嵌实验手册mini2440(Word版) 谁用谁知道

2013-05-30

国嵌教程(mini2440)

mini2440的教程,当然也适合其他嵌入式开发学些的,真正的国嵌教程

2013-05-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除