随笔分类 - C/C++开发
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 今天在用VC6调试一个别人写的示例程序时,发现了这么一个错误: bool __cdecl std::isdigit(_E,const class std::locale &)' : expects 2 arguments 出错的代码: [cpp] vi...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ main.cpp #include "global.h" int Main(....) { ... } file_1.cpp #include "global.h" .... file_2.cpp #include "global.h" ...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ #include <iostream>class Sieve{public: virtual int NextNumber () =0;};class SourceSieve:public Sieve{public: SourceSieve():_i(1){}; ...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 场景: 分析:每个类的节点都必须提供它自己的Calc方法,所以采用多态进行操作。我们将Node节点和BinNode节点设计为抽象类,抽象类是不能实例化的类,它们只能作为其他类的父类。一个包含一个或多个纯虚函数的类称为抽象类,一个没有具体实现的函数称为纯虚函数,只有从一个抽象类派生的类以及...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 问题1:expected unqualified-id before ‘using’ 一般都是类声明后面没有加分号导致的。 类声明的时候没有加分号,还可能导致一个错误--错误:一个声明指定了多个类型 问题2:类中的数据成员是不是根据前导函数的初始化顺序进行初始化的? 数据成员根据它们在类定义中...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 初学C++哈,不知道这个错误是不是很silly,高手轻拍。情况如下: #include #include #include using namespace std;int main (int argc, char * const argv[]){ string str = "Hello"; tr...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 绝对是被迫学习QT,本来不想看这些东西来着,志不在此,不过实验室的项目用到,想到以后万一哪天想去写一个Linux下的小程序,弄个GUI看起来也蛮不错的。 实验环境是Windows……Microsoft Visual Studio 2008 MSDN 英文版 + Microsoft Windows X...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 我们以QLineEdit这个类为例来看看如何学习分析一个QT类。 1.Public Types: 这是一个在这个类中可以供我们使用的公共枚举类型。这也就是说,我们可以如下使用这个公共类型: // some code..QLineEdit::EchoMode mode;mode = myLineE...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 这两部分在任何一个框架或者叫做程序库中都是很基础且重要的部分,我们看看QT这方面的东西。 QT的字符串类是QString,而QStringList则是一个string列表的数据结构。你不需要去关心内存分配问题,QT会为你处理这一切的。 String在内部是以unicode为编码的,在转到8bit时...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 最近要写一个WSDL解析器,于是就总结了三种QT处理XML文件的方式 主要就是分这三种方式。 1. DOM 用下图进行解析的示意: 2.SAX 3.STAX:XML流解析器 作者:gnuhpc 出处:http://www.cnblogs.com...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 前几天一个朋友去面试百度空间的一个职位,被问及这个问题,我听后说了几点,不过感觉还是不透彻,所以上网查阅了一些资料,自己又想了想,总结一下。 动作不同: 在C++中,new一个对象时,程序完成对象的空间的分配的同时,构造函数也被调用,类似,delete一个对象时,对象的...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.什么是显式构造函数? 首先要理解什么是隐式构造函数,并且弄清它的优缺点。 #include <iostream>using std::cout;using std::endl;class complexNumbers { double real, img;public: complexNu...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.在子类构造时完成父类(没有默认构造函数)的初始化参数传入: #include <iostream>class Foo{ public: Foo( int x ) { std::cout << "Foo's con...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 首先要说明的是,若用户没有定义,C++隐式声明一个复制构造函数和一个赋值运算符(完成按数据成员复制的动作)。二者很像,但是在下边这点上有很大的不同:复制构造函数是只在对象实例化时才会被调用,也就是说,在复制构造函数调用期间,这个对象处于一个未决状态(直到复制构造函数被成功调用),另外复制构造函数...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.什么是默认构造函数? 一个函数是默认构造函数当且仅当调用它可以不需要传入任何参数。这个函数可以是用户自定义的,也可以是编译器产生的。下边的各种构造函数都是默认构造函数。 struct A{ int x; A(): x(0) {}};struct B: A{//no use...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 在看《高效编程十八式》中的第一小节的时候介绍了函数对象方法和Lambda表达式,以便完成“如果需要对函数指针进行更加灵活的定制”。 假设任务判断奇偶数,为了达到数据封装,我们使用函数对象的方法: #include #include #include using namespace s...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 这是个基础问题,但往往有些迷惑,尤其是当你同一个时间有时写Java,有时写C++……总结如下: C++中基本类型只有作为全局变量才会进行,而对于类类型只要这个类具有一个无参构造函数则不管这个类的对象是局部变量还是全局变量,它都会进行缺省的初始化,甚至当一个对象通过缺省初始化机制进行创建时,这个对象的...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.思维导图: Example1: char *strcpy(char *target, const char *source) { char *t = target; // Copy the contents of so...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 我们先看看以下代码: #include <stdio.h> int main() { const int a = 1; a = 2; printf("%d/n", a); return 0; } 你一看就知道这个一定在编译的时候报错:assignme...
阅读全文
摘要:作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 做毕设时碰到了最小二乘法的直线拟合问题,发觉C++里有以下这么几个类在做这件事情、以及后续处理时挺不错的,其实用OpenCV的数据结构和方法也可以进行,稍后研究一下。 valarray 类用法 1. apply 将 valarray 数组的每一个值都用 apply 所接受到的函数进行计算 2....
阅读全文