现在位置: 首页 > 自动控制 > 工业·编程 > 文章
2012-06-28 19:50 工业·编程 ⁄ 共 4543字 暂无评论
一、 编译CPPUnit工程 1、  解压文件cppunit-1.12.1.tar.gz。 2、  编译$BASE/src/cppunit/CppUnitLibraries.dsw中的cppunit_dll项目。这是CPPUnit基本类库。Release和debug版本需要同时编译。 3、  编译$BASE/src/cppunit/CppUnitLibraries.dsw中的TestRunner项目。这是使用MFC的图形化界面的类库。Release和debug版本需要同时编译。 注意:若使用VS2005编译,可能出现: error C1104: fatal error importing l...
阅读全文
    C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a     C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 const_cast,字面上理解就是去const属性。 static_cast,命名上理解是静态类型转换。如int转换成char。 dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多态类型转换。 reinterpreter_cast,仅仅重新解释类型,...
阅读全文
2012-06-26 06:30 工业·编程 ⁄ 共 5345字 评论 4 条
一、CPPUNIT概念     CPPUNIT是一个测试驱动开发的测试框架。所谓测试驱动开发(TDD)是一种可以在开发过程中控制忧虑感的开发方法,它坚持以测试作为开发过程的中心,在开发前根据对将要开发的程序的要求,先写好所有测试代码,并且在开发过程中不断地通过运行测试代码来获得所开发的代码与所要求的结果之间的差距。     CPPUNIT是XUNIT的一部分,它是由JUNIT演变过来的,专门针对C/C++的单元测...
阅读全文
在网上找了很多关于在 VS2005 下使用 CppUnit 的方法的文章,都不如意(要么针对的 VC 的版本太老,要么就是不详细),因此经过几番摸索,总算找到了一种方法。小结一下,备忘。 分为以下2个步骤: 1. 编译生成 lib,dll 文件 2. 在 VS2005 中建立测试工程(在这个工程中写测试用例,调用 CppUnit 工具) 首先,编译生成 lib,dll 文件 1.下载 CppUnit 源文件(这里用 1.12.0 版本) 2.解压后,进入其中的 src 目录(cppunit-1.12.0\src)...
阅读全文
2012-06-24 23:15 工业·编程 ⁄ 共 6029字 暂无评论
一 、函数对象 因为很多的算法中多使用了函数对象 二元函数对象,V1和V2为输入,V3为结果 plus<T>:   transform(V1.begin(), V1.end(), V2.begin(), V3.begin(),plus<double>()); 其他的二元函数对象:minus,multiples,divieds,modulus. 二元断言函数对象,使用时需要bind2nd()或bind1st()来绑定比较对象。 less<T>:   find_if(L.begin(), L.end(), bind2nd(less<int>(), 0)); 其他...
阅读全文
2012-06-24 23:12 工业·编程 ⁄ 共 4385字 暂无评论
一、迭代器(iterator) 迭代器: 迭代器是类似指针的对象,STL算法利用它们对存储在容器中的对象序列进行遍历。 5种类别:1、输入迭代器             2、输出迭代器             3、前向迭代器             4、双向迭代器    &#...
阅读全文
2012-06-23 23:03 工业·编程 ⁄ 共 5495字 暂无评论
先看代码 class  A { public :      void  funPrint() {cout << " funPrint of class A " << endl;} ; } ; class  B: public  A { public :      void  funPrint() {cout << " funPrint of class B " << endl;} ; } ; void  main() {     A  * p;  /...
阅读全文
随着业务的扩展,特别是安全客户端的全面上线,CppUnit测试变得越来越重要。 一、获取cppunit源代码     使用svn进行checkout,地址 1.首先运行VS2008(或者VS2005),导入该项目,路径如图: 2.转换 3.删除无用的dspplugin工程。 4.编译解决方案 编译整个解决方案,如果编译出错,则是因为编译器版本错误。 因为vc6为 7.0版本,vs2005为8.0,vs2008为 9.0,因此修改MsDevCallerListCtrl.cpp代码中67行为: ...
阅读全文
2012-06-21 06:50 工业·编程 ⁄ 共 2121字 暂无评论
    UI设计师面临着一个很大的挑战,他们不仅受控于程序(或平台)中设计元素,还要求设计出的东西对于最终用户来说不能过于复杂和抽象。在过去一年里,Ubuntu就面临着这样的挑战,而微软也将会看到 Canonical所经历的一切。我希望微软在最终设计阶段可以好好吸取最终用户的意见。用户是设计师必须关注的一个重要群体——否则他们的设计将最终失败。     Ubuntu Unity刚度过了它的首个周年纪念日,...
阅读全文
2012-06-20 22:37 工业·编程 ⁄ 共 1193字 暂无评论
1. 重写 (override) 父类与子类之间的多态性。子类重新定义父类中有相同名称和参数的虚函数。 1) 被重写的函数不能是 static 的。必须是 virtual 的,或者是 override 的 ( 即函数在最原始的基类中被声明为virtual , c++ 中没有 override) 。 2) 重写函数必须有相同的类型,名称和参数列表 3) 重写函数的访问修饰符可以不同。尽管 virtual 是 private 的,派生类中重写改写为 public,protected 也是可以的 ( 这点与 C# 完全不...
阅读全文