C++
文章平均质量分 87
a1232345
这个作者很懒,什么都没留下…
展开
-
C++中将构造函数或析构函数定义为private
很多情况下要求当前的程序中只有一个object。例如一个程序只有一个和数据库的连接,只有一个鼠标的object。通常我们都将构造函数的声明置于public区段,假如我们将其放入private区段中会发生什么样的后果?这意味着什么? 当我们在程序中声明一个对象时,编译器为调用构造函数(如果有的话),而这个调用将通常是外部的,也就是说它不属于class对象本身的调用,假如构造函数是私转载 2014-09-04 10:03:54 · 850 阅读 · 0 评论 -
C++ erase的用法
STL中list的erase用法erase的作用是,使作为参数的迭代器失效,并返回指向该迭代器下一参数的迭代器。如下:listParticleSystem;list::iteratorpointer;if(pointer->dead == true){ pointer =ParticleSystem.erase(pointer);} 有一段关于错误使用e转载 2015-11-09 23:21:38 · 5436 阅读 · 0 评论 -
C++ 类的静态成员详细讲解
转载一篇校友的文章,原文地址:http://blog.csdn.net/morewindows/article/details/6721430在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或声明要加个转载 2015-10-23 13:26:00 · 477 阅读 · 0 评论 -
C++友元函数和友元类
在一个类中可以有公用的(public)成员和私有的(private)成员,在类外可以访问公用成员,只有本类中的函数可以访问本类的私有成员。现在,我们来补充介绍一个例外——友元(friend)。fnend 的意思是朋友,或者说是好友,与好友的关系显然要比一般人亲密一些。有的家庭可能会这样处理:客厅对所有来客开放,而卧室除了本家庭的成员可以进人以外,还允许好朋友进入。在C++中,这种关系以关键转载 2015-09-11 10:54:17 · 709 阅读 · 0 评论 -
cout详解
1使用范例编辑123456789101112131415161718#includeusing namespace std;int main(){ int a;转载 2015-07-16 13:51:07 · 2580 阅读 · 0 评论 -
C++中的操作符重载
一、什么是操作符重载操作符重载可以分为两部分:“操作符”和“重载”。说到重载想必都不陌生了吧,这是一种编译时多态,重载实际上可以分为函数重载和操作符重载。运算符重载和函数重载的不同之处在于操作符重载重载的一定是操作符。我们不妨先直观的看一下所谓的操作符重载: 1 #include 2 3 using namespace std; 4 5 int转载 2015-07-14 17:36:30 · 520 阅读 · 0 评论 -
C++的运算符重载
C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之一。 运算符重载是通过创建运算符函数实现的,运算符函数定义了重载的运算符将要进行的操作。运转载 2015-07-14 18:04:17 · 466 阅读 · 0 评论 -
Qt入门之信号与槽机制
一. 简介就我个人来理解,信号槽机制与Windows下消息机制类似,消息机制是基于回调函数,Qt中用信号与槽来代替函数指针,使程序更安全简洁。信号和槽机制是 Qt 的核心机制,可以让编程人员将互不相关的对象绑定在一起,实现对象之间的通信。信号当对象改变其状态时,信号就由该对象发射 (emit) 出去,而且对象只负责发送信号,它不知道另一端是谁在接收这个信号。这样就做转载 2015-07-13 23:12:42 · 449 阅读 · 0 评论 -
C/C++拾遗(十九):MFC - 一个简单的窗口程序
在复习完C/C++的基础之后,今天开始学习MFC,自己使用的资料是孙鑫老师的《VC++深入精解》作为主要的学习脉络,而侯老师的《深入浅出MFC》则作为补充。今天是第一章基础,简要介绍windows编程的特点。一、几个基本的认识1. API与SDK 同我们经常使用的cstdlib一样,微软为进行windows程序开发的提供了强大的函数库,我们称之为API,这些API作为应用程序的转载 2015-07-13 16:17:13 · 4742 阅读 · 0 评论 -
ubuntu下安装eclipse IDE for C/C++ developers
序 linux的GUI和windos比起来实在逊色,虽然它的终端模式(命令行模式)非常强大。linux发行版ubuntu的GUI相对其他版本要华丽一些,所以最近由redhat转向ubuntu进行linux的学习。曾经一度使用gcc命令行模式来编译、调试C程序,但是我还是渴望一个C/C++集成开发环境可以给我更好的视觉感受和方便的操作,以避免命令行的繁琐操作,所以就尝试着在自己的ubuntu转载 2015-07-06 18:20:09 · 1128 阅读 · 0 评论 -
C++命名空间
一、 为什么需要命名空间(问题提出) 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突。 在 C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够区别它们。 1、全局变量的作用域是整个程序转载 2015-07-13 11:26:41 · 1073 阅读 · 0 评论 -
C++默认构造函数
之前看书一直搞不懂什么时候需要自己定义默认构造,在网上查了半天也没解决自己的疑惑,网上的文章多半都是拷过来拷过去的,直到后来看到C++ Primer英文版的对这个的解释才算弄清楚了,其实人家已经说得很清楚了。以前为了图省事,找资料的时候都是找的中文的,现在觉得还不如看英文的来的直接了,所以建议有条件的同学都直接看英文的好了。---------------------------------原创 2015-07-10 00:26:33 · 1193 阅读 · 0 评论 -
C++构造函数
创建一个对象时,常常需要作某些初始化的工作,例如对数据成员赋初值。注意,类的数据成员是不能在声明类时初始化的。如果一个类中所有的成员都是公用的,则可以在定义对象时对数据成员进行初始化。如:class Time{ public : //声明为公用成员 hour; minute; sec;};Time t1={14,56,30}; //将t1初始化为14:56:3转载 2015-07-09 18:50:28 · 540 阅读 · 0 评论 -
C++预编译头文件stdafx.h作用
许多初学 VC 的朋友也许都为那么一个问题困扰过: 为什么所有的 cpp 都必须 #include "stdafx.h" 也许请教了别的高手之后,他们会告诉你,这是预编译头,必须包含。可是,这到底是为什么呢?预编译头有什么用呢? 这得从头文件的编译原理讲起。其实头文件并不神秘,它的全部作用,就是把自己的所有内容直接“粘贴”到相应的 #include转载 2015-05-05 10:40:35 · 755 阅读 · 0 评论 -
C++与C中的函数互相调用的处理
一、C++中调用C函数C++和C是两种完全不同的编译链接处理方式,如果直接在C++里面调用C函数,会找不到函数体,报链接错误。要解决这个问题,就要在 C++文件里面显示声明一下哪些函数是C写的,要用C的方式来处理。首先引用头文件前需要加上 extern “C”,如果引用多个,那么就如下所示:[cpp] view plaincopyex转载 2014-12-19 14:49:41 · 949 阅读 · 0 评论 -
c++中的 extern "C"
比如说你用C 开发了一个DLL 库,为了能够让C ++语言也能够调用你的DLL 输出(Export) 的函数,你需要用extern "C" 来强制编译器不要修改你的函数名。通常,在C 语言的头文件中经常可以看到类似下面这种形式的代码:C代码 #ifdef __cplusplus extern "C" { #endif /**** so转载 2014-12-19 14:18:53 · 518 阅读 · 0 评论 -
Combining C++ and C - how does #ifdef __cplusplus work?
103down votefavorite62I'm working on a project that has a lot of legacy C code. We've started writing in C++, with the intent to eventually convert the legacy code, as well. I'm a转载 2014-12-19 14:06:48 · 622 阅读 · 0 评论 -
C++命名空间
一、 为什么需要命名空间(问题提出) 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突。 在 C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的变量,互不于扰,系统能够区别它们。 1、全局变量的作用域是整个程序转载 2015-12-22 11:13:27 · 485 阅读 · 0 评论