`
congfeng02
  • 浏览: 200017 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
// testdev.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> using namespace std; class A { public: A() { cout << "A::A()" << endl;; } ~A() { cout << "A::~A()" << en ...
#include "stdafx.h" #include <iostream> #include <atlstr.h> #include <Windows.h> using namespace std; typedef struct tagDiskType { int m_nType; const char* m_strName; }stDiskType, *LPDiskType; stDiskType g_arrDiskInfo[] = { { DRIVE_UNKNOWN, "未知& ...
// funcall.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> using namespace std; class CFun { public: CFun(int nVal = 100) { m_nData = nVal; } ~CFun() { } public: int operator() (int nSub) { return (m_n ...
笑话--三个鬼 有一天三个鬼在逛街的时候遇到了上帝!他们对上帝说,他们都死得很惨,希望让他们上天堂!上帝很无奈地说,现在天堂的住户太多,已经爆满。但现在还有一个名额!你们说吧,看谁死得最惨,就让 ...
C++编程杂谈之三:面向对象(续)作者:xulion 下载例子源代码 上一篇我们涉及了面向对象的一个基本概念--封装,封装是一个相对比较简单的概念,也很容易接受,但是很多的场合下面,仅仅是封装并不能很好的解决很多问题,考虑下面的例子:假设我们需要设计一个对战游戏的战斗细节,在最初的版本中我们将支持一种动作--fight。假设我们有三种角色:fighter、knight和warrior,每种角色的health、hit point不同,基于封装的基本想法,我们很自然的想到对每个对象使用类的封装,首先明显的元素有2个:health、hit point,另外还有name( ...
C++编程杂谈之一:编译器 作者/xulion 网上有很多各种编译器的优劣比较的东西,我写这些东西并不是想支持或否定某些东西,因为我始终认为在编程的领域中,我只是一个初学者,并没有资格来评判什么(况且我 ...
C++编程杂谈之二:面向对象 作者/xulion 软件开发是一个极其复杂的过程,一段小的代码我们可以快速、准确的完成,但是当你面对的是一个庞大的软件系统的时候,你是否有不知所措的感觉呢?在我们使用C的年代里面,编程思想是结构化的,你的C语言老师可能会不断的教导你怎样使用结构化的方法来完成一段程序,同时,你可能也知道在软件开发中的一个重要定律(Wirth定律):程序 = 算法 + 数据结构在结构化设计中人们通常是这样来看待这个定律的:  程序 =(算法) + (数据结构)例如:(我仍然使用C++标准库来写下面的代码,方便和以后的代码对比) #inc ...
简单而复杂的smarty循环问题 问:$mySmarty->assign('sCount', 20);$mySmarty->display('xxx.tpl');我想要的很简单,就是能在xxx.tpl中循环$sCount变量,就像类似于下面的PHP循环形式:for ($i = 0; $i < $sCount; $i++){......}每个语言都有循环语句,smarty(暂且勉强归类到语言中)也不例外,但是查了手册上的资料,竟然全部都是关于数组循环的语句,难道我要想循环一个100次的语句,就要成立一个数组,赋值100次?循环1000次,5000次呢?难道就没 ...
C/C++圣战 李维 Borland C/C++的反击 当Microsoft Visual C++ 1.0 在C/C++开发工具市场获得了空前成果的之后,Borland 才从Borland C/C++ 3.1的胜利梦中惊醒,思考如何面对Visual C++的猛烈功势。事实上当时的Borland如果脑袋清醒一点,好好看清当时C/C++开发工具的市场,那么Borland应该会发现虽然 Visual C++ 经过2年多的整军经武,实力已经大不前。不过Borland C/C++ 3.1仍然在许多方面可以和Visual C++一争长短的。例如其时Visual C++的最佳化编译器 ...
在名字空间中声明类和成员函数 赵湘宁 虽然很多程序员都熟悉名字空间的概念,但他们常常都是被动地使用名字空间。也就是说他们使用的是第三方定义的成员(如标准库的类和函数),而不是在名字空间中声明自己的类和函数。本文拟讨论如何在名字空间中声明自己的类和函数,以及如何在程序中使用它们。 名字空间是一个范畴,它包含类声明,函数声明,常量声明和模板声明等名字空间成员。例如:namespace proj_alpha{//下面是名字空间 proj_alpha 的成员class Spy {/*..*/};void encrypt (char *msg);const int M ...
自制性能测试类 赵湘宁 商业软件包往往价格昂贵,并且需要一个过程之后才能有效地使用它们。针对这一点,本文拟实现一个简单有效的类,它能自动计算并报告函数、循环和代码块执行的时间。自动化与简易性设计 利用类对象构造函数和析构函数的执行特性(它们分别在声明和销毁时执行),性能测试类的计时是在构造函数开始的,计算与报告某个操作的执行时间是在析构函数中进行的。测试仪提供毫秒级的结果。实现过程中将使用clock()返回程序开始后的处理器时钟时间(与平台相关的时间单位)。宏CLK_TCK表示特定机器每秒时钟数。性能测试类定义如下:#include <time.h&g ...
为什么operator=操作符返回引用 赵湘宁 问题: MSDN文档中解释到:operator=操作符缺省情况下返回引用——TYPE& TYPE::operator=(const TYPE&)为什么呢?我对此的理解是:“=”是个二进制操作符。其传入的参数是引用对象,而其它的参数是类实例,“=”在这个类实例中被重载。而我在实际应用中可以不用返回任何类型(void)来实现赋值操作符,并仍然可以完成赋值操作。我这样做正确吗?如果不正确,那么为什么缺省的实现返回引用呢?解答: 如果你再花点时间想一想可能就会有答案。其实很简单。operator ...
在预先定义的内存位置构造一个对象 赵湘宁 常常有人问这样一个C++问题:如何在预先定义的内存位置构造一个对象?在预先定义的内存缓冲构造一个对象有许多有用的应用。例如,一个定制的垃圾搜集器能使用一个大的预 ...
// usenew.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <new> using namespace std; class CNew { public: CNew(int nVal) { m_nData = nVal; cout << "constructor of CNew has been called!" << endl; } ~C ...
售楼小姐的18句良心话 ●大家购房所付的保险费其实是可以打八五折的,不要在售楼处买保单,外面的保险公司都可以为你打折。 ●开盘绝对没有好房子,好的房子全部被保留,然后每个月推出几套,但单价升得很快,要么就是你有关系,我们才给你好的房子。 ●广告没有一个是真的,千万别相信其中的外立面颜色,很多造出来比画的难看多了。 ●售楼员会用许多方法来逼你买房,让你无时无刻感到紧张,这时你千万要冷静。要自己看中才买。 ●别以为高层中的九到十一楼不错,那你大错了,这些楼层正好是扬灰层,脏空气到这个高度就会停顿,我们是不会告诉你们的。 ●别对景观抱太大希望,树和草是在交房前一个月从外地买来直接 ...
Global site tag (gtag.js) - Google Analytics