当用户未定义一个默认的构造函数,编译器并不是在任何时候都给自动给我们定义一个默认的构造函数,它只会在编译器需要的时候才会生成,并且只有class类型的变量会被初始化,其他的诸如内置类型变量或者指针都不会被初始化,这些变量的初始化工作是程序员的责任。同样,一个类的默认复制构造函数也不是什么时候都会 w397090770 12年前 (2013-04-04) 32712℃ 0评论1喜欢
在Linux C网络编程中,一共有两种方法来关闭一个已经连接好的网络通信,它们就是close函数和shutdown函数,它们的函数原型分别为:[code lang="CPP"]#include<unistd.h>int close(int sockfd)//返回:0——成功, 1——失败#include<sys/socket.h>int shutdown(int sockfd, int howto)//返回:0——成功, 1——失败[/code]close函数和shutdown函数 w397090770 12年前 (2013-04-04) 5603℃ 0评论2喜欢
在C++中一共有四种强制类型转换:dynamic_cast、const_cast 、static_cast、reinterpret_cast。除了dynamic_cast是在运行的时候进行类型转换的,其它三种都是在编译期间实现转换的。四种类型的转换介绍如下: dynamic_cast:只能在继承类对象的指针之间或引用之间进行类型转换,进行转换时,会根据对象的运行时类型信息,判断类型对象之间的 w397090770 12年前 (2013-04-04) 3245℃ 0评论2喜欢
本程序实际上是构建了一颗二叉排序树,程序最后输出构建数的中序遍历。代码实现:[code lang="CPP"]#include <stdio.h>#include <stdlib.h>// Author: 过往记忆// Email: wyphao.2007@163.com// Blog: typedef int DataType; typedef struct BTree{ DataType data; struct BTree *Tleft; struct BTree *Tright; }*BTree;BTree CreateTree(); BTree insert(BTree root, DataTy w397090770 12年前 (2013-04-04) 3086℃ 0评论1喜欢
相信大家对树的各种递归的遍历很了解,利用递归使得代码变得简单而且比较好理解,但是利用递归是需要代价的,特别是当递归层次比较深的时候,可能会导致递归栈溢出。而且递归一般运行速度比较慢,那么这种情况下,我们就可以采用非递归来实现,非递归相对递归来说,代码相对比较难理解,而且代码量也一般比较多,可 w397090770 12年前 (2013-04-04) 3407℃ 0评论0喜欢
本程序用来仿照linux中的ls -l命令来实现的,主要运用的函数有opendir,readdir, lstat等。代码如下:[code lang="CPP"]#include <iostream>#include <vector>#include <cstdlib>#include <dirent.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <cstring>#include <algorithm>using namespace std;void getFileAndDir(vector w397090770 12年前 (2013-04-04) 2660℃ 0评论0喜欢
C++允许为模板类中的类型参数指定为一个迷人类型,例如:我们可以将int赋予通用类Stack中的类型参数T,作为默认类型,如下所示:[code lang="CPP"]templateclass Stack{//other operator};[/code]现在我们就可以像如下代码一样使用默认类型来声明模板类对象了:[code lang="CPP"]Stack<> stack; //store int value[/code]但是需要注意 w397090770 12年前 (2013-04-04) 4237℃ 1评论0喜欢
闲来无事,于是把常用的排序算法自己写了一遍,也当做是复习一下。[code lang="CPP"]/*************************************************************** * * * * * Date : 2012. 05. 03 * * Author : 397090770 * * Email : wyphao.2007@163.com * * * * * *************************** w397090770 12年前 (2013-04-04) 3033℃ 0评论3喜欢
一、首先到oracle的官网下载Berkeley db数据库源文件下载地址http://download.oracle.com/otn/berkeley-db/db-5.3.15.tar.gz二、下载之后的文件是一个打包好的文件,需要在命令行里面利用tar来解压(当然你也可以利用一些可视化工具来解压),步骤如下在命令行里面输入[code lang="CPP"] tar -zxvf db-5.3.15.tar.gz[/code]解压之后进入db-5.3.15目录有以下 w397090770 12年前 (2013-04-04) 3973℃ 0评论0喜欢
有虚函数的类内部有一个称为“虚表”的指针,这个就是用来指向这个类虚函数。也就是用它来确定调用该那个函数。例如:[code lang="CPP"]#include <iostream>using namespace std;class A{public: virtual void fun1(){ cout << "In class A::fun1()!" << endl; } virtual void fun2(){ cout << "In class A::fun2()!" << endl; w397090770 12年前 (2013-04-03) 2444℃ 0评论1喜欢