随笔分类 -  C++

摘要:C++语言支持各种关系运算符重载(<,>,>=,<=,==),他们可用于比较C++内置的数据类型。 支持重载任意一个关系运算符,重载后的关系运算符可以用于比较类的对象。 运行结果: exbot@ubuntu:~/wangqinghe/C++/20190808$ ./overrelation D2 i 阅读全文
posted @ 2019-08-08 18:03 王清河 阅读(752) 评论(0) 推荐(0) 编辑
摘要:以非成员函数方式重载运算符 运算结果: exbot@ubuntu:~/wangqinghe/C++/20190808$ g++ overtwo.cpp -o overtwo exbot@ubuntu:~/wangqinghe/C++/20190808$ ./overtwo Volume of box 阅读全文
posted @ 2019-08-08 18:02 王清河 阅读(277) 评论(0) 推荐(0) 编辑
摘要:一元运算符只对一个操作数进行操作,下面是一元运算符实例: 运算结果: exbot@ubuntu:~/wangqinghe/C++/20190808$ g++ overone.cpp -o overone exbot@ubuntu:~/wangqinghe/C++/20190808$ ./overon 阅读全文
posted @ 2019-08-08 18:02 王清河 阅读(236) 评论(0) 推荐(0) 编辑
摘要:C++允许在同一个作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。 重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但他们的参数列表和定义(实现)不相同。 当调用一个重载函数或重载运算符时,编译器通过把函数所使用的参数类型和定义中的参数类型进行比较, 阅读全文
posted @ 2019-08-08 09:33 王清河 阅读(821) 评论(0) 推荐(0) 编辑
摘要:C++内联函数通常是跟类一起使用。如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放在每个调用该函数的地方。对内联函数进行任何修改,都需要重新编译函数的所有客户端,因为编译器需要重新更改一次所有的代码,否则将会继续使用旧的代码。 如果想把一个函数定义为内联函数,需要在函数名前面放关键字 阅读全文
posted @ 2019-08-07 17:31 王清河 阅读(2783) 评论(0) 推荐(0) 编辑
摘要:我们可以使用static关键字把类成员定义为静态的。当我们声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本。 静态成员在类的所有对象都是贡献的。如果不存在其他的初始化语句,在创建第一个对象时,所有的静态数据都会被初始化为0。我们不能把静态成员的初始化放置在类的定义中,但是 阅读全文
posted @ 2019-08-07 17:30 王清河 阅读(332) 评论(0) 推荐(0) 编辑
摘要:在C++中,每一个对象都能够通过this指针来访问自己的地址。this指针是所有成员函数的隐含参数。因此,在成员函数内部,它可以用来指向调用对象。 友元函数是没有this指针的,因为友元不是类的成员,只有成员函数才有this指针。 运行结果: exbot@ubuntu:~/wangqinghe/C+ 阅读全文
posted @ 2019-08-07 17:27 王清河 阅读(278) 评论(0) 推荐(0) 编辑
摘要:类的友元函数是定义在类外部,但有权访问类的所有私有成员和保护成员。尽管友元函数的原型有在类的定义中出现过,但友元函数并不是成员函数。 友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类。在这种情况下,整个类及其所有成员都是友元。如果要声明函数为一个类的友元,需要在类定义中 阅读全文
posted @ 2019-08-07 17:26 王清河 阅读(1483) 评论(0) 推荐(0) 编辑
摘要:拷贝构造函数是一种特殊的构造函数,它在创建对象时,使用的是同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数通常用于: l 通过使用另一个同类型的对象来初始化新创建的对象; l 复制对象把它作为参数传递给函数; l 复制对象,并从函数返回这个对象。 如果类中没有定义拷贝构造函数,编译器会自行定 阅读全文
posted @ 2019-08-06 18:11 王清河 阅读(397) 评论(0) 推荐(0) 编辑
摘要:类的构造函数: 类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。 构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回void。 构造函数可用于为某些成员变量初始值。 默认的构造函数是没有任何参数的,但是如果需要,构造函数也是可以带参数的。这样在创建对象时就可 阅读全文
posted @ 2019-08-06 18:08 王清河 阅读(265) 评论(0) 推荐(0) 编辑
摘要:输入输出流函数(模板) 运行结果: exbot@ubuntu:~/wangqinghe/C++/time$ ./cout 123.46 ****123.46 999.123 1.235e+02 cout.self和setiosflags一样,cout.precision和setprecision一样 阅读全文
posted @ 2019-08-05 19:23 王清河 阅读(566) 评论(0) 推荐(0) 编辑
摘要:C++继承了C语言用于日期和时间操作的结构和函数,使用之前程序要引用<ctime>头文件 有四个与时间相关的类型:clock_t、time_t、size_t、和tm。类型clock_t、size_t、和time_t能够把系统时间和日期表示为某种整数。 结构体tm把时间和日期以C结构的形式保存,tm结 阅读全文
posted @ 2019-08-05 19:21 王清河 阅读(2503) 评论(0) 推荐(0) 编辑
摘要:不同系统会有不同差异: 类型 位(byte) 范围 char 1 -128—127 or 0 – 255 unsigned char 1 0 – 255 signed char 1 -128—127 int 4 -2^31 – 2^32-1 unsigned int 4 0 – 2^32 signe 阅读全文
posted @ 2019-08-05 19:19 王清河 阅读(164) 评论(0) 推荐(0) 编辑
摘要:枚举类型: 枚举类型(enumeration)是C++的一种派生数据类型,它是由用户定义的若干枚举常量的集合。 如果一个变量只有几种可能的值,可以定义为枚举类型所谓枚举是将变量一一枚举出来,变量的值只能在列举出来的值的范围内。 创建枚举,需要使用关键字enum枚举类型的一般形式为: enum 类型 阅读全文
posted @ 2019-08-05 19:17 王清河 阅读(271) 评论(0) 推荐(0) 编辑
摘要:C中包含头文件<math.h> C++包含头文件<cmath> 函数 double cos(double) 该函数返回弧度角(double型)的余弦 double tan(double) 该函数返回弧度角(double型)的正切 double sin(double) 该函数返回弧度角(double型 阅读全文
posted @ 2019-08-05 19:16 王清河 阅读(527) 评论(0) 推荐(0) 编辑
摘要:C++输出十六进制 运行结果: exbot@ubuntu:~/wangqinghe/C++/enum$ ./mybyte a : hex 3c b : hex d c : hex c C++输出二进制: 运行结果: exbot@ubuntu:~/wangqinghe/C++/enum$ ./binb 阅读全文
posted @ 2019-08-05 19:15 王清河 阅读(363) 评论(0) 推荐(0) 编辑
摘要:字符串函数:(C/C++通用) 函数 功能 strcpy(s1,s2); 复制字符串s2到s1 strcat(s1,s2) 连接字符串s2到字符串s1末尾 strlen(s1) 返回字符串s1的长度 strcmp(s1,s2) 如果s1和s2相同返回0 如果s1 < s2,返回值小于0 如果s1 > 阅读全文
posted @ 2019-08-05 19:13 王清河 阅读(191) 评论(0) 推荐(0) 编辑
摘要:C++继承 面向对象程序设计中最重要的一个概念就是继承,继承允许我们以及另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易,这样做也可以达到重用代码功能和提高执行时间的效果。 当创建一个类时,不需要重新编写新的数据成员和成员函数,只需要指定新建的类继承一个已有的类的成员即可,这个已有的类被 阅读全文
posted @ 2019-07-31 10:17 王清河 阅读(247) 评论(0) 推荐(0) 编辑
摘要:makefile文件: make结果: exbot@ubuntu:~/wangqinghe/Transducer/20190611$ makeg++ -c test.cpp g++ test.o -o test 程序运行结果: 运行结果需要用服务器程序互相通信或者使用模拟软件来互相通信。 此处不展示 阅读全文
posted @ 2019-06-21 22:05 王清河 阅读(3197) 评论(0) 推荐(0) 编辑
摘要:main.cpp mysqlInterface.h mysqlInterface.cpp Makefile: 执行结果: make g++ -c main.cpp -I/usr/include/mysql -L/usr/lib/mysql/ -lmysqlclient g++ -c mysqlInt 阅读全文
posted @ 2019-06-21 21:56 王清河 阅读(873) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示