返回首页 我的新博客

随笔分类 -  c++

摘要:在面向对象的C++语言中,虚函数(virtual function)是一个非常重要的概念。因为它充分体现了面向对象思想中的继承和多态性这两大特性,在C++语言里应用极广。比如在微软的MFC类库中,你会发现很多函数都有virtual关键字,也就是说,它们都是虚函数。难怪有人甚至称虚函数是C++语言的精髓。 那么,什么是虚函数呢,我们先来看看微软的解释: 虚函数是指一个类中你希望重载的成员函数,当你用... 阅读全文
posted @ 2009-10-04 00:03 buffer的blogs 阅读(292) 评论(0) 推荐(0)
摘要:什么是虚拟函数,我想如果你能马上用口头表达出来,那么你的基础不错。知道虚拟函数表吗?也许你已经看了很多书,了然于胸。其实很多时候并不需要看书,就可以体会到。然后什么是虚拟继承?也许听说过,但很少使用。其实使用虚拟继承,可以减轻你很多的痛苦。 看下面一个例子: 这里的例子尽可能的简单,关于虚拟函数。 class Father{public : Father();virtual void run... 阅读全文
posted @ 2009-10-04 00:02 buffer的blogs 阅读(401) 评论(0) 推荐(0)
摘要:一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类,和抽象类的相似之处有三点: 1、不能实例化; 2、包含未... 阅读全文
posted @ 2009-09-28 10:01 buffer的blogs 阅读(351) 评论(0) 推荐(0)
摘要:在C++的学习中,有人经常搞不清楚“常量指针”和“指针常量”这两个概念。其实简单一点讲,“常量指针”所指向的地址上的数据是常量,而“指针常量”所指向的地址是常量,地址上面的数据是可以变化的。 下面看及格简单的例子,可以说明他们的区别:第一个1voidmain(){2char*str1={"Hello"}... 阅读全文
posted @ 2009-09-28 09:49 buffer的blogs 阅读(295) 评论(0) 推荐(0)
摘要:http://topic.csdn.net/t/20030522/11/1818126.htmlhttp://www.vckbase.com/document/viewdoc/?id=701 阅读全文
posted @ 2009-07-04 22:22 buffer的blogs 阅读(1987) 评论(0) 推荐(0)
摘要:1. strcpy我们知道,strcpy 是依据 \0 作为结束判断的,如果 to 的空间不够,则会引起 buffer overflow。strcpy 常规的实现代码如下(来自 OpenBSD 3.9):char *strcpy(char *to, const char *from){ char *save = to; for (; (*to = *from) != '\0'; ++from, +... 阅读全文
posted @ 2009-06-01 15:35 buffer的blogs 阅读(3382) 评论(1) 推荐(0)
摘要:Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图? OSI:应用层 表示层 会话层 传输层 网络层 数据链路层 物理层TCP/IP:应用层、传输层、网络层、数据链路层,物理层Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?IP协议(Internet Protocol)又称互联网协议,是支持网间互连的数据报协议,它与TCP协议(传输控制协... 阅读全文
posted @ 2009-05-21 13:59 buffer的blogs 阅读(1185) 评论(0) 推荐(0)
摘要:置于“~”是析构函数;析构函数因使用“~”符号(逻辑非运算符),表示它为逆构造函数,加上类名称来定义。析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,也没有重载,只有在类对象的生命期结束的时候,由系统自动调用。有适放内存空间的作用。虚函数是C++多态的一种表现例如:子类继承了父类的一个函数(方法),而我们把父类的指针指向子类,则... 阅读全文
posted @ 2009-05-21 13:57 buffer的blogs 阅读(448) 评论(0) 推荐(0)
摘要:2007年百度之星程序设计大赛试题初赛题目百度的高级搜索方法 (2007 年初赛) 题面描述: 你尝试过在百度上使用 site inurl 语法查询吗 ? 如果还没有的话可以试一下 :) 如输入 site:www.baidu.com inurl:news 则会搜出所有在 www.baidu.com 站点上的包含 "news" 子串的 url 。 现在我们有两份数据,一份是 site_inurl.... 阅读全文
posted @ 2009-05-15 21:40 buffer的blogs 阅读(613) 评论(0) 推荐(0)
摘要:2006 年百度之星程序设计大赛初赛题目 2 题目名称:蝈蝈式的记分 内容描述: 蝈蝈小朋友刚刚学会了 0-9 这十个数字 , 也跟爸爸妈妈来参加百度每周进行的羽毛球活动。但是他还没有球拍高,于是大人们叫他记录分数。聪明的蝈蝈发现只要记录连续得分的情况就可以了,比如用“ 3 2 4 ” 可以表示一方在这一局中连得三分后,输了两分,接着又连得到四分。可是,后来大人们发现蝈蝈只... 阅读全文
posted @ 2009-05-15 21:38 buffer的blogs 阅读(415) 评论(0) 推荐(0)
摘要:2005年百度之星程序设计大赛试题初赛题目第一题(共四题 100 分):连续正整数( 10 分) 题目描述:一个正整数有可能可以被表示为 n(n>=2) 个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。 输入数据:一个正整数,以命令行参数的形式提供给程序。 输出数据:在标准输... 阅读全文
posted @ 2009-05-15 21:35 buffer的blogs 阅读(360) 评论(0) 推荐(0)
摘要:简单、可依赖是百度的性格,百度之星们又有怎样的性格呢? 有n名选手入围了百度之星程序设计大赛的复赛阶段。为了让选手相互之间有更多的了解和更好的交流,组委会工作人员邀请每位选手选择一些不同的词语来介绍自己的性格。每名选手需要为自己选定的每一个词语指定一个绝对值不超过100的整数权值q,表示这个词语在多大程度上描述了自己的性格。例如“美丽 90”表示该选手认为自己非常美丽,&l... 阅读全文
posted @ 2009-05-15 21:30 buffer的blogs 阅读(310) 评论(0) 推荐(0)
摘要:题目描述 搜 索引擎是靠 Web Robot (又称 Spider )来收集互联网上浩如烟海的网页的。 Spider 就像一个旅行家一般,不知疲倦地奔波于万维网的空间,将遇到的页面收集下来供搜索引擎索引。对于一个网站的管理员来说,如果希望搜索引擎只收录自己指定的 内容,或者指定某些不希望搜索引擎访问的内容,该如何去做呢?他需要的就是 Robots Exclusion Protocol 协议,这里简... 阅读全文
posted @ 2009-05-15 21:24 buffer的blogs 阅读(279) 评论(0) 推荐(0)
摘要:题目描述 搜 索引擎是靠 Web Robot (又称 Spider )来收集互联网上浩如烟海的网页的。 Spider 就像一个旅行家一般,不知疲倦地奔波于万维网的空间,将遇到的页面收集下来供搜索引擎索引。对于一个网站的管理员来说,如果希望搜索引擎只收录自己指定的 内容,或者指定某些不希望搜索引擎访问的内容,该如何去做呢?他需要的就是 Robots Exclusion Protocol 协议,这里简... 阅读全文
posted @ 2009-05-15 21:24 buffer的blogs 阅读(233) 评论(0) 推荐(0)
摘要:当用二叉链表作为二叉树的存储结构时,因为每个结点中只有指向其左、右孩子结点的指针,所以从任一结点出发只能直接找到该结点的左、右孩子。在一般情况下靠它无法直接找到该结点在某种遍历次序下的前驱和后继结点。如果在每个结点中增加指向其前驱和后继结点的指针,将降低存储空间的效率。与此同时,我们可以证明:在n个结点的二叉链表中含有n+1个空指针。因为含n个结点的二叉链表中含有2n个指针,除了根结点,每个结点都... 阅读全文
posted @ 2009-05-13 20:20 buffer的blogs 阅读(1245) 评论(0) 推荐(0)
摘要:看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。 const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书籍... 阅读全文
posted @ 2009-04-15 21:23 buffer的blogs 阅读(545) 评论(1) 推荐(1)
摘要:一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的,主要时间是花在思考算法上,不是花在写程序与debug上。 下面给个计划你练练: 第一阶段: 练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打出来. 1.最短路(Floyd、Dijstra,Be... 阅读全文
posted @ 2009-03-19 10:07 buffer的blogs 阅读(346) 评论(0) 推荐(0)
摘要:...............................................................《C++标准函数库》中说的 有三个函数可以将字符串的内容转换为字符数组和C—string 1.data(),返回没有”\0“的字符串数组 2,c_str(),返回有”\0“的字符串数组 3,copy() .................................. 阅读全文
posted @ 2009-03-18 15:12 buffer的blogs 阅读(830) 评论(0) 推荐(1)
摘要:CFile//创建/打开文件CFile file;file.Open(_T("test.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite); 文件打开模式可组合使用,用“|”隔开,常用的有以下几种:CFile::modeCreate:以新建方式打开,如果文件不存在,新建;如果文件已存在,把该文件长度置零,即清除文件... 阅读全文
posted @ 2009-03-17 22:16 buffer的blogs 阅读(28891) 评论(1) 推荐(1)
摘要:static l 静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可改变其值。 l 静态变量或静态函数,即只有本文件内的代码才可访问它,它的名字(变量名或函数名)在其它文件中不可见。 l 在函数体内生成的静态变量它的值也只能维持 int max_so_far( int curr )//求至今(本次调用)为止最大... 阅读全文
posted @ 2009-03-14 22:47 buffer的blogs 阅读(407) 评论(0) 推荐(0)