
C++编程
文章平均质量分 76
in_han
这个作者很懒,什么都没留下…
展开
-
从C到C++
注:在C++中,可以声明一个函数而不实现它......不论这个函数是全局的还作为一个类的成员函数.一.名字空间1.using namespace : 用命名空间来防止命名冲突; namespace mfc{ int i=1; } //-->不用加分号 namespace hanyin{ int i=0; } using hanyin:i; using namespa原创 2010-04-15 18:24:00 · 398 阅读 · 0 评论 -
C++ 类
一.基础1.标准C++定义了一些内建的类,如string2.成员选择符: .或->3.如果成员函数在的定义在类声明之中,则这种方式为inline 通过在进行成员函数声明的时候使用inline,可将原本定义在类声明之外的成员函数强制变成内联函数。4.通常将一个类的声明放在头文件中,这样在任何要使用这个类的地方通过#include宏便可将这个类的声明包含进来。5.效率和健壮性: 一般,类都是作为引原创 2010-04-15 18:29:00 · 398 阅读 · 0 评论 -
c++ 多态
一.多态前提:继承,vitual函数 and 基类指针的引用1.当声明了基类的virtual 成员函数,那么即使该成员函数没有在派生类中被显式声明为虚函数,那它所有的派生类中也将自动成为虚函数。2. C++公允许成员函数为虚函数3.派生类中的虚函数也可从基类继承。二.构造函数与析构函数1.构造函数不能是虚函数,但是析构函数可以是虚成员函数!!2.编译器在调用函数不是虚函数时,实施的是静态绑定。ev原创 2010-04-15 18:36:00 · 371 阅读 · 0 评论 -
C++ 基础总结
1.类的接口调用顺序不能规定顺序:即以任何顺序调用都不应发生异常。2.当一个类的对象超出其作用域时, 编译器即会调用其析构函数... { Test t; } cout<<"end"; //在cout<<"end";之前,会看到类Test的析构函数的输出...由汇编代码也可看出Test::~Test()的调用..3原创 2010-04-16 23:10:00 · 432 阅读 · 0 评论 -
C++ 99 个常见错误 一
A.基础问题1.过分注释(对注释的更新与代码不一致), 字面常量(幻数,看不出意义, 可用 enum 或 const 解决).2.全局变量. (1) 可用函数调用得到 (2) 可用一个类单例得到3.未能区分函数重载和形参默认值.4.引用: 引用只是其初始化物的别名.引用是没有地址的,甚至不占有任何存储空间. 由于无地址,声明指向引用的指针,引用的原创 2010-05-26 00:16:00 · 791 阅读 · 0 评论 -
C++ STL常见用法
1. 基本用法 template template 声明:template class Array{ void show();} 实现:template //要放在前面,不然...void Array::show(){ /* * * * */ } 模板类可以作为一种数据类型出现在参数列表中:templa原创 2010-05-29 23:02:00 · 682 阅读 · 0 评论 -
C, C++ 陷阱
1. 警惕unsigned 造成的死循环 unsigned int 与 0 的比较作为循环条件: jb,jlfor( unsigned int uI = 10 ; uI >= 0 ; uI --){ /*死循环* / }// 因为 ul >= 0 被汇编为: cmp xx, xx; jb xxx; !!!for( int i = 10; i >= 0 ; i --){ /* */ } // i >= 0 被汇编为: cmp xx, xx; jl xxx; !!!同样,unsigned原创 2010-06-11 23:10:00 · 368 阅读 · 0 评论 -
由前序、中序遍历,求二叉树的结构
代码如下: #include "stdafx.h" #include using namespace std; string pre = "alicloud"; string in = "illcaudo"; typedef struct Node{ char ch; Node * left, *right; }*TreeNode; int rebuild( Tre原创 2013-09-14 15:22:41 · 582 阅读 · 0 评论