
C++
文章平均质量分 56
sz-lcw
这个作者很懒,什么都没留下…
展开
-
头文件注意事项
头文件一般包含类的定义、extern变量的声明和函数的声明。1、头文件用于声明而不是用于定义。2、头文件中可以定义类、值在编译时就已知道的const对象和inline函数。如果const变量不是常量表达式初始化(如,是函数赋值),那么它就不应该在头文件中定义。3、设计头文件时,应使其可以多次包含在同一源文件中4、使用头文件保护符避免多重包含。原创 2013-12-02 10:49:00 · 920 阅读 · 0 评论 -
标准库vector小结
vector不是一种数据类型,而只是一个类模板,可以用来定义任意多种s原创 2014-07-10 11:11:49 · 780 阅读 · 0 评论 -
C++中将string类型转换为int, float, double类型
转自:http://blog.youkuaiyun.com/candadition/article/details/7342380C++中将string类型转换为int, float, double类型 主要通过以下几种方式:# 方法一: 使用stringstreamstringstream在int或float类型转换为string类型的方法中已经介绍过, 这里也能用作将string类转载 2015-04-10 16:31:51 · 2568 阅读 · 1 评论 -
C++定义动态数组
http://www.cnblogs.com/richardcpp/archive/2012/10/15/2724406.html首先:为什么需要动态定义数组呢? 这是因为,很多情况下,在预编译过程阶段,数组的长度是不能预先知道的,必须在程序运行时动态的给出 但是问题是,c++要求定义数组时,必须明确给定数组的大小,要不然编译通不过 如: int Array[转载 2015-01-24 11:48:52 · 712 阅读 · 0 评论 -
接口继承与实现继承
原文链接:http://blog.youkuaiyun.com/ljinddlj/article/details/1922189接口继承与实现继承MoaKap所谓接口继承,就是派生类只继承函数的接口,也就是声明;而实现继承,就是派生类同时继承函数的接口和实现。我们都很清楚C++中有几个基本的概念,虚函数、纯虚函数、非虚函数。虚函数:虚函数是指一个类中你希望重载的转载 2014-09-11 20:30:08 · 859 阅读 · 0 评论 -
error c2243:"类型转换" 转换存在,但无法访问
最近重新看了遍基类指针、引用的相关知识点,一直在想 ,如果派生类不是公有继承,那么用基类指针、引用指向该派生类对象时会发生什么?派生类内的成员的访问权限会不会发生什么变化?结果实验表明,系统不支持此类类型转换。基类指针、引用不能指向继承方式为protected与private的派生类对象。假设我们有以下类:class A{public: int publi;protecte原创 2014-08-14 11:16:51 · 5506 阅读 · 0 评论 -
为什么默认实参总是放在函数声明中
对于函数的默认实参,我们一般都是放在函数的声明中的,而在定义中并不指定默认实参:在头文件中声明函数://test.hvoid func(int i = 0);而在对应的源文件中实现函数://test.cppvoid func(int i){}//什么也不做如果我们将默认实参从声明中删除,而在定义中添加,或者是声明和定义中都添加,不论值是否相同转载 2014-08-12 17:03:26 · 993 阅读 · 0 评论 -
解决头文件相互包含问题的方法
所谓超前引用是指一个类型在定义之前就被用来定义变量和声明函数。 一般情况下,C/C++要求所有的类型必须在使用前被定义,但是在一些特殊情况下,这种要求无法满足,例如,在类CMyView中保留了一个非模式对话框对象指针,该对象用于显示/修改一些信息。为了实现对话框"应用"按钮,把对话框做的修改立刻更新到view界面上,为此,需要在对话框类中需要保存view类的指针,这样定义关系转载 2014-08-06 16:12:18 · 956 阅读 · 0 评论 -
指向函数的指针
函数指针是指向函数的指针变量。原创 2014-08-05 17:44:36 · 621 阅读 · 0 评论 -
const的小结
const 引用当使用非const对象初始化const对象的引用时,系统将非const对象转换为const对象。原创 2014-07-23 17:13:29 · 643 阅读 · 0 评论 -
用typedef的陷阱
陷阱一: 记住,typedef是定义了一种类型的新别名,不同于宏,它不是简单的字符串替换。比如: 先定义: typedef char* PSTR; 然后: int mystrcmp(const PSTR, const PSTR); const PSTR实际上相当于const char*吗?不是的,它实际上相当于cha转载 2014-04-06 18:53:46 · 711 阅读 · 0 评论 -
C++计算程序运行时间
计算程序运行时间 方法一: #include #include //关键 using namespace std; int main() { clock_t start, finish; double totalTime; start = clock(); //需要测试运行时间的代码段放在这 finish = cloc转载 2014-05-25 21:05:49 · 1244 阅读 · 0 评论 -
C++输入数据流用回车符判断终止
http://blog.youkuaiyun.com/zhoujunbuaa/article/details/5975237实际问题:很多读入数据都希望用回车来结束,比如输入一串double(输入时用空格隔开),存入到一个vector或数组中,最后用回车结束(关键是个数不限,所以不能用固定循环次数来限定它。 咋一看很简单,要编程突然还没头脑~~~关键是字符和整数或浮点数据的区转载 2014-07-09 11:45:41 · 1198 阅读 · 0 评论 -
C++ STL中vector用法
Vector 是C++标准程序库中的一个类,可视为会自动扩展容量的数组,以循序(Sequential)的方式维护变量集合。vector的特色有支持随机存取,在集合尾端增删元素很快,但是在集合中间增删元素比较费时。vector是C++标准程序库中的众多容器(container)之一。 vector以模板(泛型)方式实现,可以保存任意类型的变量,包括用户自定义的数据型态,例如:它可以是放置整数(i转载 2014-04-08 17:16:26 · 1192 阅读 · 0 评论 -
枚举enum与typedef enum的区别
C里面定义enum变量的时候必须加enumC/C++ code?12345678910111213enum TextType{ TM_ENGLISH_ABC, TM_ENGLISH_abc,转载 2014-04-06 12:12:07 · 4429 阅读 · 0 评论 -
C/C++不同文件夹下包含头文件的方法及#include的使用
本文主要介绍了如何不同文件夹下使用预处理器指示符#include。假设我们有如下一个工程,其中包含了几个源代码文件和头文件。其中main.c是主源代码文件,里面包含main函数。在base中包含:func3.h,func3.c,文件夹main和文件夹func4在main中包含:main.c,func1.h,func1.c和文件夹func2。在func2中包含:func2.h转载 2014-04-06 12:00:56 · 10322 阅读 · 5 评论 -
C++虚函数的陷阱--派生类对象的基类函数调用基类虚函数出错
最近写程序的时候发现,派生类对象的基类函数如果调用基类虚函数,则它将调用的是派生类的对应函数,而不是我想调用的基类的对应函数。下面用一个例子来说明://基类class Base{public: void funA(); virtual void funB();protected:private:};void Base::funA(){ cout<<"这是Base类fu原创 2015-04-17 10:40:22 · 4006 阅读 · 0 评论