C++
luckyboyPB
这个作者很懒,什么都没留下…
展开
-
多态的几种类型
总体是分为通用多态和专用多态:通用多态:不同的类型值,执行相同的代码。专用多态:不同的类型值,执行不同的代码。(类似枚举 “什么类型,执行什么操作”) 通用多态分为:参数多态和包含多态参数多态:参考c++中的template(静态联编时候实现)包含多态:可以理解为abstract functions,interface的方法(动态联编时候实现,)原创 2013-06-07 00:15:58 · 4357 阅读 · 0 评论 -
深入C++的new
“new”是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做一个总结。new的过程当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针。当然,如果我们创建的是简单类型的变量,那么第二步会被省略。假如我们定义了如下一个类A:clas转载 2014-01-16 12:19:30 · 718 阅读 · 0 评论 -
CxImage的使用以及基本用法
转载:http://www.cnblogs.com/doublesnke/archive/2011/09/20/2182296.htmlDoubleSnakeCxImage的使用以及基本用法基本定义:CxImage类库是一个优秀的图像操作类库。它可以快捷地存取、显示、转换各种图像。下载地址:http://www.codeproject.com/KB/grap转载 2015-01-16 09:38:59 · 2041 阅读 · 0 评论 -
c++ 如何获取系统时间
转载:http://www.cnblogs.com/doublesnke/archive/2011/08/05/2128558.htmlDoubleSnakec++ 如何获取系统时间 转载http://blog.csdn.net/zjnig711/article/details/2419081c++ 如何获取系统时间2008-04-28 15:34转载 2015-01-16 09:33:41 · 649 阅读 · 0 评论 -
vc获得屏幕大小
DoubleSnakevc获得屏幕大小 //获取的是显示屏幕的大小,及不包括任务栏等区域 int with = GetSystemMetrics(SM_CXFULLSCREEN); int height = GetSystemMetrics(SM_CYFULLSCREEN); //两个函数获取的是真正屏幕的大小 int with = GetS转载 2015-01-16 09:44:52 · 559 阅读 · 0 评论 -
CString,Char*,string 互相转换
《C++标准函数库》中说的 有三个函数可以将字符串的内容转换为字符数组和C—string 1.data(),返回没有”\0“的字符串数组 2.c_str(),返回有”\0“的字符串数组 3.copy() ................................................................. int 转 CString: C转载 2014-04-01 21:20:30 · 590 阅读 · 0 评论 -
C/C++多种方法获取文件大小
#include #include #include #include #define _AFXDLLusing namespace std;void main(){// 此文件在工程打开状态下为不可访问char* filepath = "..\\test.ncb";// 方法一struct _stat info; _stat(filepath转载 2013-06-15 01:13:29 · 771 阅读 · 0 评论 -
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
以下是在论坛中看到的两种解释:(1)如果是要你的代码在编译时发现编译器类型,就判断_cplusplus或_STDC_宏,通常许多编译器还有其他编译标志宏,#ifdef __cplusplus cout#else cout#endif 如果要判断已经编译的代码的编译类型,就用nm查一下输出函数符号是否和函数名相同。(相同为c,不同为c转载 2013-06-06 23:43:32 · 794 阅读 · 0 评论 -
拷贝构造函数和赋值运算符 区别
拷贝构造函数和赋值运算符区别 (整理)一、拷贝构造,是一个的对象来初始化一边内存区域,这边内存区域就是你的新对象的内存区域赋值运算,对于一个已经被初始化的对象来进行operator=操作class A; A a; A b=a; //拷贝构造函数调用 //或 A b(a); //拷贝构造函数调用 //转载 2014-12-29 14:46:17 · 530 阅读 · 0 评论 -
C++时间标准库时间time和系统时间的使用
转载:http://www.cnblogs.com/yukaizhao/archive/2011/04/29/cpp_time_system_time.html1. C++标准库中的时间需要引用time.h,可以取的本地时间或者格林威治时间,只能精确到秒#include /*包含time头文件*/#include转载 2015-01-16 09:31:38 · 706 阅读 · 0 评论 -
哑元参数
某个参数如果在子程序或函数中没有用到,那就被称为哑元。这是程序设计语言中的一个术语,不是FORTRAN独有的:)函数的形参又称“哑元”,实参又称“实元”。广义,狭义的理解不同而已:函数过程 FUNCTION 函数名(哑元表) RESULT(结果名) ... END FUNCTION 函数名子程序 [RECURSIVE] SUBROUTINE 过程名(转载 2014-12-29 14:50:21 · 3061 阅读 · 0 评论 -
关于C++ const 的全面总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示:No.作用说明参考代码转载 2014-12-23 13:58:53 · 380 阅读 · 0 评论 -
用C++写个程序,如何判断一个操作系统是16位还是32位的?不能用sizeof()
用C++写个程序,如何判断一个操作系统是16位还是32位的?不能用sizeof()一、16位的系统下:int i = 65536;cout int i = 65535;cout 32位的系统下:int i = 65536;cout int i = 65535;cout 二、int a = ~0;if(a>65536){原创 2013-06-06 23:55:37 · 4184 阅读 · 0 评论 -
关于int *a; int &a; int & *a; int * &a
关于int *a; int &a; int & *a; int * &a上述的四条语句,前面两个很好理解,而后面两个,大部分C++初学者都会比较困惑,今天我也是查阅了一些资料以后才恍然大悟。下面具体来说明一下:int i;int *a = &i;//这里a是一个指针,它指向变量iint &b = i;//这里b是一个引用,它是变量i的引用,引用是什么?它的本转载 2014-04-02 19:01:00 · 773 阅读 · 0 评论 -
C++资源之不完全导引(完整版)
C++资源之不完全导引(完整版)C++资源之不完全导引(完整版)- -这文章太强了,我一定要转载,否则对不起观众,对不起自己。(liigo)发信人: NULLNULL (空空), 信区: VC标 题: C++资源之不完全导引(转载)发信站: 武汉白云黄鹤站 (2005年05月05日01:42:54 星期四), 站内信件C++资源之不完全导引(完整版)来源:ww转载 2013-08-09 00:59:05 · 1072 阅读 · 0 评论 -
头文件与extern
头文件与extern好吧,头文件是干嘛的?放心,这个简单的问题确实把我难住了。用了多少年头文件,头文件是干嘛用的?第一,头文件是给别人看得。第二,头文件可以用来进行类型检查,减少出错。好吧,第二点我似懂非懂,所以只说第一点。再配合extern。他们俩在一起很万恶的。真的哦!头文件是给别人看的。不管是C还是C++,你把你的函数,变量或者结构体,类啥的放在你的.c或者.转载 2013-09-11 01:35:00 · 876 阅读 · 0 评论 -
小数点和有效位数的问题
cout▲setw(n)用法:通俗地讲就是预设宽度 如 cout结果是: (空格)(空格)255▲setfill(char c) 用法 : 就是在预设宽度中如果已存在没用完的宽度大小,则用设置的字符c填充 如 cout'@') ; 结果是: @@255 ▲setbase(int n) : 将数字转换为 n 进制. 如 cout<<setbase(8)<<setw(5转载 2014-02-23 16:15:40 · 1751 阅读 · 1 评论 -
splitpath 分解文件路径函数
1概述编辑声明定义void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext );说明分解路径,把你的完整路径给分割开来,就是一个对字符串进行分割的函数参数表path, Full path(完整路径)drive , Optional dri原创 2014-04-01 23:49:50 · 1584 阅读 · 0 评论 -
虚函数与纯虚函数
1、基本形式:virtual ReturnType Function_1(); //虚函数声明virtual ReturnType Function_2() = 0; //纯虚函数声明先讲示例吧,再总结结论。2、示例:class Animail{public: void Function_1() {cout };clas转载 2014-12-23 13:39:12 · 414 阅读 · 0 评论 -
C++ 虚析构函数
类型需要虚析构函数的另外一个特征 是该类型具有指针成员或引用成员。如果有指针成员和引用成员,则该类型通常需要实现析构函数以及拷贝操作。 通常,一个实现了析构函数的类型同时也需要实现拷贝构造函数与拷贝复制函数。 作为一个经验法则:如果你有一个带有虚函数功能的类,则它需要一个虚析构函数,原因如下: 1. 如果一个类有虚函数功能,它经常作为一个基类使用。 2.如果它是转载 2014-12-23 13:42:05 · 442 阅读 · 0 评论 -
C++虚析构函数、纯虚析构函数
虚析构函数析构函数的工作方式是:最底层的派生类(most derived class)的析构函数最先被调用,然后调用每一个基类的析构函数。因为在C++中,当一个派生类对象通过使用一个基类指针删除,而这个基类有一个非虚的析构函数,则结果是未定义的。运行时比较有代表性的后果是对象的派生部分不会被销毁。然而,基类部分很可能已被销毁,这就导致了一个古怪的“部分析构”对象,这是一个泄漏资源。排除转载 2014-12-23 13:44:02 · 482 阅读 · 0 评论 -
构造函数为什么不能是虚函数
1. 从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。2. 从使用角度,虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用。构造函数本身转载 2014-12-23 13:45:55 · 489 阅读 · 0 评论 -
拷贝构造函数和赋值运算符 区别
拷贝构造函数和赋值运算符区别 (整理)一、拷贝构造,是一个的对象来初始化一边内存区域,这边内存区域就是你的新对象的内存区域赋值运算,对于一个已经被初始化的对象来进行operator=操作class A; A a; A b=a; //拷贝构造函数调用 //或 A b(a); //拷贝构造函数调用 //转载 2013-06-15 20:04:26 · 540 阅读 · 0 评论 -
C++基类,派生类,同名覆盖原则
/ 同名覆盖原则.cpp: 主项目文件。 #include "stdafx.h" #include #include using namespace std; class One { private: string name; int age; public: virtual ~One( )=0{ }转载 2014-12-29 15:00:04 · 2882 阅读 · 0 评论