C++ Primer Plus学习笔记之继承类的初始化顺序
基类的构造函数,析构函数和操作符函数operator=是不能被派生类继承的;
那么,当创建一个派生类对象时,怎样调用基类的构造函数对基类的数据进行初始化呢???
答案是:构造函数执行时遵行先兄长(基类),再客人(对象成员),后自己(派生类)的顺序;
另一方面,执行析构函数时,先执行派生类的析构函数,再执行基类的析构函数。原因是,对...
分类:
编程语言 时间:
2014-05-04 09:41:27
阅读次数:
373
在日常的开发中,我们用过很多开源的web服务器,例如tomcat、apache等等。现在我们自己实现一个简单的web服务器,基本的功能就是用户点击要访问的资源,服务器将资源发送到客户端的浏览器。为了简化操作,这里不考虑资源不存在等异常情况。web服务基于的是HTTP协议,用户在浏览器的地址栏输入要访问的地址,服务器如何得到该地址是个关键。先看下一般的HTTP请求和响应报文的一般格式:...
分类:
编程语言 时间:
2014-05-04 09:03:52
阅读次数:
423
用c++封装一个Hash Table,并与STL map 进行操作性能上的比较...
分类:
编程语言 时间:
2014-05-04 08:39:46
阅读次数:
536
package ioTest.io3;
/*
* 删除有内容的文件夹:从最里面一直向外删除。建议千万不要删除硬盘上面有用的文件夹哦
* 方法思路
* 循环+递归
*/
import java.io.File;
public class RemoveDir {
public static void main(String[] args) {
// TODO Auto-generat...
分类:
编程语言 时间:
2014-05-04 09:25:58
阅读次数:
464
/*
* 将指定目录下的所有java文件的绝对路径存储到文本文件中
* 建立一个java列表。
* 思路:
* 1.对指定目录进行递归
* 2.获取递归过程所有的java文件的路径
* 3.将这些路径存储在集合中
* 4.将集合中的内容写到文本文件
* 注:3,4步骤也可以合并成一个步骤
*/
package ioTest.io3;
import java.io.Buffere...
分类:
编程语言 时间:
2014-05-04 08:48:43
阅读次数:
402
package ioTest.io3;
/*Properties是hashtable的子类。
* 也就是说它具备map集合的特点,而且它里面存储的键值对都是字符串
* 是集合中和io技术结合的一个容器
*
* 该对象的特点是可以用于键值对形式的配置文件
*/
import java.util.Properties;
public class PropertiesDemo {
p...
分类:
编程语言 时间:
2014-05-04 09:44:53
阅读次数:
332
在json对象和java对象转换时
String s = "{'name':'name1','pwd':'pwd1'}";
Person p = (Person)JSONObject.toBean(JSONObject.fromObject(s), Person.class);
System.out.println(p.getPwd());
上面代码中出现以下异常:
net.sf.json.JSONException: java.lang.NoSuchMethodException...
分类:
编程语言 时间:
2014-05-04 09:05:16
阅读次数:
1650
6.4 一些说明
数据属性可以重写同名的方法属性。这是为了避免在大型系统中产生问题的意外名称冲突。所以用一些减少冲突的常用方法是很有效果的。常用的方法包括:大写字母方法名称,用唯一的字符串来做为数据属性的名称(可以是个下划线_)或者用动词命名方法和用名字命名数据属性。
数据属性就像和对象的普通用户一样可以被方法引用。换句话说,类不能用来实现纯净的数据类型。事实上,在python中不能强制数据隐...
分类:
编程语言 时间:
2014-05-04 09:20:39
阅读次数:
305
JavaScript动画工作原理完结篇(之四)
在我们的最后一部分中,我们将通过建立事件处理程序,而不是在点击按钮时机器人做出响应,我们的机器人将在屏幕上跟随着鼠标而移动。在这个过程中,我们将讨论跨浏览器的代码,并且触摸屏也可用……...
分类:
编程语言 时间:
2014-05-04 09:30:46
阅读次数:
408
std::priority_queue
场景:
1. 对于一个任务队列,任务的优先级由任务的priority属性指明,这时候就需要优先级越高的先执行。而queue并没有排序功能,这时priority_queue是比较好的选择.
2 对于异步的task也是一样,在不断添加新的task时,当然希望优先级越高的先执行.
解析:
1. 如果需要把优先级最高的先pop,那么comp比较时需要返回false....
分类:
编程语言 时间:
2014-05-04 09:33:44
阅读次数:
382
6.5 继承
当然,一门语言特性如果不支持继承那么名称类就失去了价值。子类继承父类的方法如下:
class DerivedClassName(BaseClassName):
.
.
.
名称BaseClassName必须定义在一个包含派生类定义的作用域中。在基类名称的位置上,其他随意表达式都是允许的、例如,当基类定义在其他模块中,这也是可用的。
class DerivedCl...
分类:
编程语言 时间:
2014-05-04 08:59:32
阅读次数:
364
“多个人干活比一个人干活要快,多线程并行执行也比单线程要快”这是我学习编程长期以来的想法。然而在实际的开发过程中,并不是所有情况下都是这样。先看看下面的程序(点击下载):
ThreadTester是所有Tester的基类。所有的Tester都干的是同样一件事情,把counter增加到10000000...
分类:
编程语言 时间:
2014-05-04 09:53:28
阅读次数:
624
1、序列化是干什么的?
简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保 存object
states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。 2、什么情况下需要序列化...
分类:
编程语言 时间:
2014-05-04 09:57:38
阅读次数:
413
假定我们让 a 除以 b,商为 q,余数为 r: q = a / b;r = a %
b;这里,不妨假定 b 大于 0。我们希望 a、b、q、r 之间维持怎样的关系呢?1.最重的一点,我们希望 q * b + r ==
a,因为这是定义余数的关系。2.如果我们改变 a 的正负号,我们希望这会改变 q...
分类:
编程语言 时间:
2014-05-04 10:07:45
阅读次数:
320
异常(Exception)是程序在执行过程中所产生的问题。导致异常的原因有很多,例如:用户输入无效的数据、找不到一个需要打开的文件、在通讯过程中网络中断、JVM内部内存溢出等等。
有些异常是由用户操作所导致的、有些是程序员的错误导致的,有些则是硬件的故障导致的。所以异常分为错误(error)、...
分类:
编程语言 时间:
2014-05-04 10:17:24
阅读次数:
312
当创建javascript的构造函数: 构造函数创建对象。构造函数特点:
(1)函数名与实例化构造名相同。 (2)通过构造函数创建对象,必须用new。构造函数与普通函数的区别:
调用方法不同,构造函数也是函数,但是必须通过new来调用才可以创建对象。构造函数中的this: 只代表当前构造函数所声.....
分类:
编程语言 时间:
2014-05-04 10:34:52
阅读次数:
316
c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初学者有所帮助。
c++类的构造函数详解一、 构造函数是干什么的classCounter{public...
分类:
编程语言 时间:
2014-05-04 10:44:22
阅读次数:
345