摘要:
怎么对容器中的所有对象都进行同一个操作?我们可能首先想到的是用循环来实现。 比如有如下的一个类:class ClxECS{public: int DoSomething() { // 这里以输出一句话来代替具体的操作 cout << "Output from method DoSomething!" << endl; return 0; };}; 现在定义如下一个vect... 阅读全文
posted @ 2010-05-31 23:32
carekee
阅读(249)
评论(0)
推荐(0)
摘要:
有如下一个简单的复数类:class ClxComplex{public: ClxComplex(double dReal = 0.0, double dImage = 0.0) { m_dReal = dReal; dImage = dImage; } double GetReal() const { return m_dReal; } double GetImage() const { retu... 阅读全文
posted @ 2010-05-31 23:30
carekee
阅读(288)
评论(0)
推荐(0)
摘要:
我在今年2月份写了篇《C++中接口与实现分离的技术》的文章,用一个很简单的例子说明了在C++中接口与实现分离的好处及实现方法。很荣幸,这篇文章被推荐到了CSDN的首页并被多家网站转载。 可是当时写那篇文章的时候,没有考虑到类与类之间的继承关系。下面我就来具体的谈谈这个方面。 还是以上面提到的那篇文章中的例子来说明。 执行类: lxImplement.h文件内容:#include "lxTest.h... 阅读全文
posted @ 2010-05-31 23:29
carekee
阅读(303)
评论(0)
推荐(0)
摘要:
在开发的时候会遇到这种情况,就是在执行某些功能的时候要对一些环境变量或配置信息进行修改,功能执行完毕之后再把这些变量或配置信息设置恢复回去。举个例子:有些游戏只能在分辨率为800*600的环境下运行,如果要在分辨率1024*768的电脑上玩,就要在运行游戏的时候把分辨率改为800*600,退出游戏的时候再把分辨率改回1024*768。 其实处理这样的情况也不是很难,我们可以写一个设置环境变量或配置... 阅读全文
posted @ 2010-05-31 23:29
carekee
阅读(380)
评论(0)
推荐(0)
摘要:
有下面一个简单的类:class ClxTest{public: ClxTest(int iSize = 13) { pszStr = new char[iSize]; }; ~ClxTest() { if(pszStr) delete []pszStr; }; lxOutput() { cout << pszStr << endl; };private: char *psz... 阅读全文
posted @ 2010-05-31 22:51
carekee
阅读(183)
评论(0)
推荐(0)
摘要:
在我的那篇“C++中虚析构函数的作用”中我说明了为什么作为基类的类的析构函数必须是虚函数,同时也指出:为了避免产生虚函数表,如果类不是基类的话,析构函数就不需要声明为虚函数。 但是,我们不能预料用户的行为,你不敢肯定用户是否会从你的类去派生自己的类。如果用户以一个基类指针去删除一个派生类的对象,就会发生派生类的析构函数不被调用的情况。这样做的危险性我想大家都知道。当然,你可... 阅读全文
posted @ 2010-05-31 21:50
carekee
阅读(811)
评论(0)
推荐(0)
摘要:
我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类:class ClxBase{public: ClxBase() {}; virtual ~ClxBase() {}; virtual void DoSomething() { cout << "Do something in class ClxBase... 阅读全文
posted @ 2010-05-31 21:45
carekee
阅读(221)
评论(0)
推荐(0)
摘要:
在用C++写要导出类的库时,我们经常只想暴露接口,而隐藏类的实现细节。也就是说我们提供的头文件里只提供要暴露的公共成员函数的声明,类的其他所有信息都不会在这个头文件里面显示出来。这个时候就要用到接口与实现分离的技术。 下面用一个最简单的例子来说明。 类ClxExp是我们要导出的类,其中有一个私有成员变量是ClxTest类的对象,各个文件内容如下: lxTest.h文件内容:class ClxTes... 阅读全文
posted @ 2010-05-31 21:45
carekee
阅读(803)
评论(1)
推荐(0)
摘要:
利用VC2005实现了邮件发送,源程序如下://-------------------------------------------------------SmtpSendEmail.h------------------------------------#pragma once#include <list> #include <string> #include <... 阅读全文
posted @ 2010-05-31 17:27
carekee
阅读(2203)
评论(0)
推荐(0)
摘要:
根据输入条件进行查询,并将查询到的结果高亮显示,属性信息显示出来private void btnSearch_Click(object sender, System.EventArgs e){ if (txtName.Text.Trim() == "") { MapInfo.Data.Table table = MapInfo.Engine.Session.Current.Catalog.GetT... 阅读全文
posted @ 2010-05-31 15:22
carekee
阅读(464)
评论(0)
推荐(0)
摘要:
关于使用动画图层的一个方法首先是要对图层进行初始化,初始出来新的一个图层中的两个图元。private void btnInitializeObjects_Click(object sender, System.EventArgs e){Catalog Cat = MapInfo.Engine.Session.Current.Catalog;//Create Temp layerTableInfoM... 阅读全文
posted @ 2010-05-31 15:20
carekee
阅读(464)
评论(0)
推荐(0)