- 博客(15)
- 资源 (6)
- 收藏
- 关注
原创 MFC控件关联变量
一.控件变量的分类控件变量分为值变量和控件类的变量;①值变量:与控件关联的数据变量,可以为任何MFC基本数据类型,在控件和变量之间有两种数据的传递方式:控件传递给变量(表征为向控件输入数值改变与之关联的变量的值),和变量传递给控件(表征为刷新后控件中的数值发生变化)②控件类的变量:控件类的对象,方便对控件本身进行操作,比如设置焦点,显示隐藏控件本身等,代替GetDlgIte
2016-12-22 10:24:20 5182 2
原创 对递归模型的理解
一.递归模型分而治之的思想也就是典型的递归思想,递归思想的核心就是递归模型的建立,递归模型就是处理这类问题的一个相同的框架,这个框架不仅仅是处理总问题的框架,也是处理组成总问题的子问题的框架,这个框架具有公用性,要适用这种公用性,就可以推断得出,这类问题的结构就有递归性质(从前有座上,山上有座庙,庙里有个老和尚,老和尚对小和尚说:从前有座上,山上有座庙,庙里有个老和尚,老和尚对小和尚说。。
2016-11-18 17:20:51 8131 1
原创 使用两个栈实现一个队列
1、题目要求使用两个栈实现一个队列;2、考查点定位栈的链式结构:通常情况下,我们使用链表来实现栈结构,有利于插入删除操作的效率,而且不用关心栈的溢出情况。队列的链式结构:通常情况下,我们使用链表来实现队列结构,有利于插入删除操作的效率,而且不用关心队列的溢出情况。栈的操作限定:先进后出:由top指针单向遍历整个栈,所以链式
2016-11-03 11:39:09 1214
原创 求穿过平面上最多点的直线(设计思想)
作者寄语:学习中总结的一些问题,难免有纰漏,欢迎探讨!一.代码说明通常在面试题目在可以看到“求穿过二维平面上最多点的直线”,此类问题中,比较重要的是“特殊问题怎么转换为常规问题”,这正是编程思想的核心,下面我将沿着这个思路进行解决上述问题。二.解决思路首先我在这里使用“倒推法”的思路,也就是通常所说的“由果索因”法进行分析上述问题,分为下面三个步奏;第一:“定位
2016-10-31 00:30:02 3319
原创 非基本类型的比较运算的操作
在实际编码中我们经常会碰到“比较两个结构体是否相同”“比较两个类对象是否相同”等类型的比较,总的来说就是比较非基本类型的数据的方法。
2016-10-28 13:49:26 755
转载 浅拷贝和深拷贝
一、浅拷贝和深拷贝 所谓浅拷贝,就是由默认的拷贝构造函数所实现的对数据成员逐一赋值。若类中含有指针类型的数据,这种方式只是简单的把指针的指向赋值给新成员,但并没有给新成员分配内存,因此这种方式必然会导致错误。为了解决浅拷贝出现的错误,必须显示的定义一个拷贝构造函数,使之不但复制数据成员,而且为对象分配各自的内存空间,这就是所谓的深拷贝。二、浅拷贝 浅拷贝就是由默认的拷贝构造
2016-10-22 12:52:39 312
原创 构造函数的二义性
一.什么是构造函数的二义性1.默认构造函数定义类对象时没有显示的提供初始化式时系统自动调用的构造函数;(注意:一个类显式地声明了任何构造函数,编译器不生成公有的默认构造函数)所以只要显示的定义构造函数,系统就不会生成默认的构造函数。2.二义性的产生class Complex{public:Complex();Compl
2016-10-21 15:26:37 1989
原创 为什么要引入友元机制
【一】为什么引入友元机制? 总的来说就是为了让非成员函数即普通函数或其他类可以访问类的私有成员,这确实破坏了类的封装性和数据的隐蔽性,但为什么要这么做呢?(c++ primer:尽管友元被授予从外部访问类的私有部分的权限,但它并不与面向对象的编程思想相悖,相反,他们提高了公有接口的灵活性)。要理解上面这句话,就必须知道友元形成的过程:(任何函数,或者成员函数或者类想成为某个类的友
2016-10-18 13:47:39 3611
原创 重载(overload)、覆盖(override)、隐藏(hide)关系
一,函数重载(overload)的定义: 函数重载是指具有相似功能的不同函数使用同一函数名,但这些同名函数的参数类型、参数个数、返回值、函数功能可以不同。编译系统将根据函数参数的类型和个数来判断使用哪一个函数。体现了C++对多态性的支持。【注意】1.【参数表】同名不同参数,函数的重载不以返回值作为区分函数重载的类型,通常情况下的重载,首先函数名一定
2016-10-17 21:28:27 701
原创 浅谈c++的精髓之继承和多态
1.为什么要用面向对象的思想去编程? c语言是从人的正常处理一个事情的常规逻辑出发的,面向单个个体的处理流程的模式,属于面向过程的编程思想,这种方式的好处就是直观易懂,符合人处理事情的常规逻辑,那么,为什么要从面向过程的编程思想过渡到面向对象的编程思想呢?这是因为人们发现在处理非常相似或具有某些抽象的共性的问题时往往不能直接移植过来,而是需要进行大量的细节修改,导致代码的复用性非
2016-09-10 15:00:22 1386
转载 C++ 运算符重载
C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之一。 运算符重载是通过创建运算符函数实现的,运算符函数定义了重载的运算符将要进行的操作
2016-04-30 20:34:15 238
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人