- 浏览: 143603 次
-
最新评论
文章列表
一,操作符重载
1)函数重载(多态)
名称相同,特征标(参数列表)不同的函数。完成相同的基本操作
2)操作符左侧的对像是调用对象,操作符右侧的作为参数被传递的对象
3)重载限制:1>重载后的操作符至少有一个操作数是用户定义的类型。防止用户为标准类型重载操作符
2>使用操作符,不能违反操作符原来的句法规则。
3>不能修改操作符优先级,不能定义新的操作符
4>可被重载的操作符:
+ - * / %
...
- 2012-03-12 17:06
- 浏览 604
- 评论(0)
一,概念
1)流网络:简单有向图,且有两个特别的顶点(源点s,汇点t)
2)流的边标识为f(u,v)/c(u,v),流量/容量
3)流的三个性质:1>容量限制 对于所有边 流量<容量
2>反对称性 f(u,v)=-f(v,u)
...
- 2012-03-09 19:50
- 浏览 2277
- 评论(0)
一,过程性编程和面向对象编程
1)采用过程性编程方法,首先考虑要遵循的步骤,然后考虑如何表示这些数据。
2) 采用面向对象编程,首先从用户角度考虑对象,描述对象所需要的数据,以及描述用户与数据交互所需要的操作。完成对接口的描述后,需要确定如何实现接口和数据存储,最后使用心得设计方案创建出程序。
二,抽象和类
1)类:将抽象转换为用户定义类型的C++工具,将数据表示和操纵数据的方法组合成一个整洁的包。
2)类包括:类声明:数据成员的方式描述数据部分,成员函数的方式描述公有接口
类方法定义:描述如何实现类成员函数
3)数据隐藏:将数据放在类的 ...
- 2012-03-07 23:40
- 浏览 781
- 评论(0)
一,单独编译
1)请不要将函数定义或变量声明放到头文件中。
原因:一个头文件中包含一个函数定义,然后其他两个文件(同属于一个程序)包含该头文件,则同一个程序中将包含同一个函数定义。除非函数是内联的(inline),否则将出错。
2)将结构放在头文件中是可以的。因为它们不创建变量。
3)头文件写法: “main.h” 头文件包含在双引号中则编译器首先查找当前的工作目录。
<main.h>包含在尖括号中则在存储标准头文件爱你的主机系统的文件系统中查找
4)源码文件:**.c 不需要#includ ...
- 2012-03-06 00:08
- 浏览 784
- 评论(0)
一,示例
四个文件:main.c;main.h;t_print.c;t_print.h
makefile:写法1)
main:main.o t_print.o
gcc main.o t_print.o -o main
main.o:main.c main.h
gcc -c main.c
t_print.o:t_print.c t_print.h
gcc -c t_print.c
clean:
rm main.o t_print.o 执行:make 或 make main
删除中间文件: make clean
写法2) ...
- 2012-03-04 00:14
- 浏览 609
- 评论(0)
一,C++内联函数
定义: inline double square (double x){return x*x;}//含有关键字inline的内联函数
描述:内联函数类似于宏的定义与调用
使用:调用内联函数时候,不用跳到另一个位置执行代码,而是将调用内联函数代码用相应内联函数替换。
区别:普通函数调用时候,跳到函数处执行完,返回再执行下一条语句。
内联函数调用时候,直接将代码复制过来执行,省去了跳过去然后返回的过程
宏:只是简单的形式上的替换
例:#define square(x) ...
- 2012-02-29 20:15
- 浏览 579
- 评论(0)
一,快捷键
显示桌面:Ctrl+Alt+D
最小化窗口:Alt+F9
最大化窗口:Alt+F10
关闭当前窗口:Alt+F4
二、Ubuntu NetBeans中文乱码解决办法
在$JAVA_HOME/jre/lib/fonts目录下创建一名为fallback的目录
将一可显示中文的字体放到fallback目录下,可以到Ubuntu字体目录(/usr/share/fonts)去复制一份或者用ln命令做一个硬链接到该目录(注:软链接无效)
再运行NetBeans(or NetBean)即可
没有字体:arphic 需要到新立得 安装最新版本.是ttf格式而不是ttc
三,网络代 ...
- 2012-02-28 19:43
- 浏览 371
- 评论(0)
一,题目:输入n用最快的方法求Fibonacci数列的第n项。
二,定义:Fibonacci数列如下:
0 n=0
f(n)= 1 n=1,2
f(n-1)+f(n-2) n>2
//0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 9871597..........
三,分析:
注意,当求第100项,甚至更大的项时,请确保你用什么类型,长整型?orlong long int存储。
不然,计算机,将得不到结果。所以选择的数据类型是关键。
四,源码:
#include <iostre ...
- 2012-02-25 22:42
- 浏览 1029
- 评论(0)
一,编译(compile)
含义:用编译器(compile)将源代码生成二进制目标文件。在Window下为.obj。在Linux下为.o文件。
要求:编译器要求,语法正确。编译器只检测程序语法和函数、变量是否被声明,函数并不许要被定义。
编译 ...
- 2012-02-25 21:55
- 浏览 501
- 评论(0)
apt-get 设置代理 proxy 方法
方法一 :这是一种临时的手段,如果你仅仅是暂时需要通过http代理使用apt-get,你可以使用这种方法。
在使用 apt-get 之前,在终端中输入以下命令:
export http proxy=http://yourproxyaddress:proxyport
据说取消代理使用:export http_proxy="" 不行的话试试 unset http_proxy;
方法二 :
这种方法要用到 /etc/apt/ 文件夹下的 apt.conf 文件,如果你希望 apt-get (而不是其他应用程序)一直使用 htt ...
- 2012-02-25 00:28
- 浏览 588
- 评论(0)
一,题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。
二,思路:创建一个循环链表,每次走m步删除一个节点,最后剩下一个
三,源码:
#include <iostream>
#include "malloc.h"
using namespace std;
struct node
{
int data;
node *next;
};
node *crea ...
- 2012-02-24 10:10
- 浏览 508
- 评论(0)
一,题目:在一个字符串中找到“第一个”、“只出现一次”的字符。
如输入abaccdeff,则输出b。
二,思路解析:
字母a:出现两次
字母b:符合要求
字母c:出现两次
字母d:出现一次,但不是第一个
字母e:出现一次,但不是第一个
字母f:出现两次
所以字母b符合要求。
三,如何才能找到符合要求的字母
首先扫描一遍字符数组,记录每一个字符出现的个数。
然后再次扫描字符数组,找到第一个个数为1的字符。
由于字符(char)是一个长度为8的数据类型,因此总共有可能256种可能。 ...
- 2012-02-23 23:51
- 浏览 621
- 评论(0)
打开 Metacity 的混合特效
Metacity 为 GNOME 桌面环境的默认窗口管理器。我们知道在 GNOME 2.22 中的 Metacity 窗口管理器已经具有了混合特效,换言之,现在即使你不用 Compiz Fusion,使用 Metacity 也能够获得透明、阴影、以及 Alt + Tab 切换效果。对于要求不高的用户来说,还是值得尝试的。但是默认情况下这些混合特效并没有被打开。如果你已经安装了 GNOME 2.22,且当前所用的显卡也支持,那么可以使用以下方法来打开
Metacity 的混合特效。
按 Alt + F2,打开“运行应用程序”对话框。输入 gco ...
- 2012-02-23 11:00
- 浏览 739
- 评论(0)
一,题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。
例如输入
8
/ \
6 10
/ \ / \
5 7 9 11
输出:8 6 10 5 79 11。
二,分析:
本题主要考察树的层序遍历,最常用的方法就 ...
- 2012-02-22 17:32
- 浏览 552
- 评论(0)
一,题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。
例如输入:
8
/ \
6 10
/ \ / \
5 7 9 11
输出:
8
/ \
10 6
/ \ / \
11 9 7 5
定义二元查找树的结点为:
struct BSTreeNode // a node in the binary search tree (BST)
{
in ...
- 2012-02-22 16:27
- 浏览 366
- 评论(0)