随笔分类 - C++
摘要:1、函数声明为引用类型 int Discover(std::vector<tDeviceInfo>& pDeviceInfo); 2、参数声明为指针类型 std::vector<DeviceData::DeviceInfo>* mDeviceInfo; 3、调用,指针转引用 Discover(*mD
阅读全文
摘要:1、现象 在c++类中,有些成员函数在声明时,后面加了const,如 2、作用 ①、提高程序可读性,可以一眼看出此函数不能修改类成员变量; ②、提高程序可靠性,此函数试图修改成员变量时,编译器会通不过
阅读全文
摘要:以C++\UDP开发为例 1、C++只是一种语言,是面向对象的,程序员可以很方便使用它的继承、封装、多态等特性完成编程。C++只给我们提供这些语法,和一些算法等。 2、我们开发UDP可能是windows上的,也可能是linux上的,无论是哪种操作系统我们都可以找到对应提供UDP的类库,如window
阅读全文
摘要:#include <algorithm> #include <vector> ////////////////////////////////////////////// int nArray[] = {0, 1, 2, 3, 4, 5}; std::vector<int> vecNum(nArra
阅读全文
摘要:问题描述: 在Mymethod中,有static函数,有普通函数,如果想在static函数中调用普通函数,会报标题错误。 问题原因: static函数是静态函数,可以有类名::fun直接调用,即使没有Mymethod对象也可以调用,不需要分配对象空间; 而普通函数必须由Mymthod对象调用,及分配
阅读全文
摘要:#ifndef INCLUDES_MY #define INCLUDES_MY //默认登录名密码 #define DEFAULT_USERNAME "admin" #define DEFAULT_PASWORD "admin" //登录结果,权限 #define LOGIN_OK 1 #define LOGIN_FAIL 0 #define LOGIN_NETCHECK 1 #define ...
阅读全文
摘要:一、全局变量 1、在Mymethod.h中 extern QString REAL_DB_PATH; 2、在Mymethod.cpp中【必须做这一步,这一步是为变量分配空间,如果不分配空间,使用的时候编译不过】 QString REAL_DB_PATH = ""; 3、在需要使用的地方,#inclu
阅读全文
摘要:转:https://blog.csdn.net/caoshangpa/article/details/51104022 一、使用extern关键字 cglobal.h #ifndef CGLOBAL_H #define CGLOBAL_H extern int testValue; #endif /
阅读全文
摘要:用于避免重复包含头文件#ifndef _STDIO_H_ #define _STDIO_H_ ...... #endif
阅读全文
摘要:#include<iostream.h> 不用using namespace std; #include<iostream>要用using namespace std;
阅读全文
摘要:1、概念 类模板就是声明一个类的模板;而模板类就是用类模板定义出的类,平时一般说类模板。 2、举例 #include <iostream> using namespace std; template<class T1, class T2> //这里不能有分号 class Point{ public:
阅读全文
摘要:转自:http://blog.csdn.net/u011068702/article/details/64443949 1、看代码 2、编译结果 3、分析和解决 就拿f(a + b)来说,a+b的值会存在一个临时变量中,当把这个临时变量传给f时,由于f的声明中,参数是int&,不是常量引用,因为c+
阅读全文
摘要:实现一个类来完成计算图形的面积,图形可能是三角形可能是正方形等等,所以需要 抽象类:用于完成计算一个图形的面积,但是这个抽象类不能生成对象,只能由子类继承抽象类各自实现对应的方法。 C++中没有抽象类的概念,只能通过纯虚函数来实现抽象类。 class Shape{ public: virtual d
阅读全文
摘要:静态联编:在编译的时候就知道调用的是父类还是子类的函数(函数重载) 动态联编:在程序运行的时候才知道调用的是父类还是子类的函数(函数重写) 注意:函数重载是在同一作用域下的;函数重写是在继承中产生的
阅读全文
摘要:1、代码 #include <iostream> #include <string> using namespace std; class Parent { public: virtual void print() { cout << "I'm Parent." << endl; } }; clas
阅读全文
摘要:ps:private在本类内部能够访问所有本类生成对象的私有属性,如下:A里是可以访问通过函数或构造函数输入的另一个A对象的private属性。
阅读全文
摘要:1、重载 对于函数的重载,或者操作符的重载,函数名字可以一样,但是参数不一样 2、多态 子类重新定义父类的虚方法(virtual,abstract) 3、继承 子类继承父类,可以继承多个父类 4、封装 对象将私有元素和实现操作的内部细节的结果隐藏起来,并能管理自己的内部状态 以下转:https://
阅读全文
摘要:1.一般而言,共用体类型实际占用存储空间为其最长的成员所占的存储空间; //4*7==282.若是该最长的存储空间对其他成员的元类型(如果是数组,取其类型的数据长度,例int a[5]为4)不满足整除关系,该最大空间自动延伸; //28除不清8,所以扩张为32 union un { int a[7]
阅读全文
摘要:对于C来说,struct定义的结构体不是一种数据类型,所以每次声明的时候需要加上struct让编译器知道这是结构体,为了不每次都加上struct关键字,可以在定义结构体的时候加上typedef关键字: typedef struct{ // }A; A a; 对于C++来说,struct定义的结构体就
阅读全文
摘要:一、类外重载操作符(使用友元函数) class Complex { int a; int b;public: Complex(int a = 0, int b = 0) { this->a = a; this->b = b; } friend Complex operator + (const Co
阅读全文