08 2005 档案
C++代码审查
摘要:文件结构 重要性 审查项 结论 头文件和定义文件的名称是否合理? 头文件和定义文件的目录结构是否合理? 版权和版本声明是否完整? 重要 头文件是否使用了 ifndef/define/endif 预处理块? 头文件中是否只存放“声明”而不存放“定义” …… 程序的版式 重要性 ...
阅读全文
组合(原著作者林悦)觉得不错拿来共享
摘要:若在逻辑上A是B的“一部分”(a part of),则不允许B从A派生,而是要用A和其它东西组合出B。 例如眼(Eye)、鼻(Nose)、口(Mouth)、耳(Ear)是头(Head)的一部分,所以类Head应该由类Eye、Nose、Mouth、Ear组合而成,不是派生而成。如示例10-2-1所示。 class Eye { public: void Look(void); }...
阅读全文
偷懒的办法处理拷贝构造函数与赋值函数
摘要:如果我们实在不想编写拷贝构造函数和赋值函数,又不允许别人使用编译器生成的缺省函数,怎么办? 偷懒的办法是:只需将拷贝构造函数和赋值函数声明为私有函数,不用编写代码。 例如: class A { … private: A(const A &a); // 私有的拷贝构造函数 A & operate...
阅读全文
类String的拷贝构造函数与赋值函数
摘要:// 拷贝构造函数 String::String(const String &other) { // 允许操作other的私有成员m_data int length = strlen(other.m_data); m_data = new char[length+1]; strcpy(m_data, other.m_data); } ...
阅读全文
不要轻视拷贝构造函数与赋值函数
摘要:由于并不是所有的对象都用拷贝构造函数和赋值函数。所以在使用的时候如果不主动编写拷贝构造函数和赋值函数,编译器将以“位拷贝”的方式自动生成缺省的函数。倘若类中含有指针变量,那么这两个缺省的函数就隐含了错误。以类String的两个对象a,b为例,假设a.m_data的内容为“hello”,b.m_data的内容为“world”。现将a赋给b,缺省赋值函数的“位拷贝”意味着执行b.m_data = a....
阅读全文
C++ 学习心得1。
摘要:最近在学习C++呢。我原来主要是用delphi 当然也用过.net ,用了一些语言之后发现现在各个公司逐渐的把很多技术都包装起来了。让我们了解的底层技术越来越少了。这样有些好处。可是不利于我们对核心技术的掌握。所以偶决定要把c++好好学学。为了能够不间断,我觉得把学习的过程记录下来,一来我自己以后可以温习,二来也可以给其他的人一点帮助(初学者)同时也希望这方面的专家能给与指点,在下十分感激。同时我...
阅读全文
将xls文件指定内容导入数据库
摘要:前两天因为工作原因要将xls文件导入到数据库中,本来用dts直接可以导入的不知道为什么有的数据乱了。于是想到了直接在查询分析器里面是否可以导入呢?查了一下。原来可以如下比较简单的处理。insert into table(col1,col2..)select col1,co2..FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source=...
阅读全文
浙公网安备 33010602011771号