1.析构函数不继承;派生类对象在析构时,基类析构函数的调用顺序与构造函数相反。
注:派生类对象建立时要调用基类构造函数,派生类对象删除时要调用基类析构,顺序与构造函数严格相反。
2.例子
example 1
#include
#include
class Point
{
public:
Point(double a, double b, doule c)
...
分类:
编程语言 时间:
2014-07-02 08:26:49
阅读次数:
298
大家都知道private变量是无法访问的,一编译就报错根本无法访问啊。本文教你如何破解这种限制。
实现的原理是利用了Java的反射机制。
首先定义一个最简单的类,只有一个私有变量和一个公开的方法。代码如下:
class Foo {
private String message = "This is a Foo.";
public void show()...
分类:
编程语言 时间:
2014-07-02 07:10:21
阅读次数:
314
Java的反射机制允许你在程序运行的过程中获取类定义的细节。有时候在程序运行的时候才得知要调用哪个方法,这时候反射机制就派上用场了。
获取类
类的获取方法有以下几种:
forName()。通过Class.forName()获取与字符串向对应的类。比如\lstinline{Class.forName("java.lang.String");}。 getClass()。...
分类:
编程语言 时间:
2014-07-02 07:52:54
阅读次数:
205
Java中有多种引用类型,按照从强到弱的顺序分别如下:
强引用:就是最常见的引用,通过等号赋值就是强引用。软引用:当内存不足时自动释放引用。一般应用于需要大量内存的缓存程序中。弱引用:不阻止垃圾回收,当强引用或者软引用都消失时,即使存在弱引用内存也会被释放。幽灵引用:只引用一个对象的“灵魂”,幽灵引用是不能直接访问的,所以get方法永远返回null。这种引用能阻止JVM释放对象的内存,但是...
分类:
编程语言 时间:
2014-07-02 09:35:26
阅读次数:
175
如何使用Python脚本对图片的黑边进行裁切...
分类:
编程语言 时间:
2014-07-02 09:13:08
阅读次数:
720
我的Java问题集(重点、难点、疑点)未完待续......
分类:
编程语言 时间:
2014-07-02 09:34:43
阅读次数:
215
错误信息及出现情景:
在export环境变量LD_PRELOAD=$XTERN_ROOT/dync_hook/interpose.so后,再运行amplxe-gui,出现上述错误。新增的动态链接库对VTune的libstdc++.so.6提出了高版本的要求。VTune 2013 updated 17的libstdc++.so.6版本为libstdc++.so.6.0.12,如果运行以下命令:
...
分类:
编程语言 时间:
2014-07-02 07:11:42
阅读次数:
339
本篇博客的由来,之前我们学习大话设计,就了解了代理模式,但为什么还要说呢?原因:1,通过DRP这个项目,了解到了动态代理,认识到我们之前一直使用的都是静态代理,那么动态代理又有什么好处呢?它们二者的区别是什么呢?
2,通过学习动态代理了解到动态代理是一种符合AOP设计思想的技术,那就更有必要总结了!下面是我对它们的理解!
代理Proxy:
Proxy代理模式是一种结构型设计模式,...
分类:
编程语言 时间:
2014-07-02 07:37:37
阅读次数:
265
#define FIND(struc,e) (int)&(((struc *)0)->e)...
分类:
编程语言 时间:
2014-07-02 08:13:52
阅读次数:
257
需要实现在打印 WARN, ERROR, CRITICAL的log时显示函数/方法名和行号,在INFO级不显示
import logging
def AltCustomFormatter(logging.Formatter):
def __init__(self, fmt=None, datefmt=None):
super(AltCustomFormatter, self).__ini...
分类:
编程语言 时间:
2014-07-02 08:44:51
阅读次数:
432
我们来说一说,HTML 中的 注释。...
分类:
编程语言 时间:
2014-07-02 08:45:24
阅读次数:
228
这个例子中用了反射,泛型实现了通用的excel读写方法。
我们常常遇到要把一个类class写入excel的时候,有时候class的字段非常多,我们不可能一个个的去get写入excel。这里写了一个通用方法。只要传入数据的list和类型,就能很方便的把数据写入excel,也能很方便的读取出来。
例子下载:
java通过class读写excel的例子
首先要引用这两个包
...
分类:
编程语言 时间:
2014-07-02 07:44:16
阅读次数:
232
如果你能理解下面代码的运行结果,应该就算理解闭包的运行机制了。
var name = "tom";
var myobj = {
name: "jackson",
getName: function () {
return function () {
return this.name;
...
分类:
编程语言 时间:
2014-07-02 09:25:07
阅读次数:
230
prototype的经典使用场景就是为对象增加属性和方法,如给自定义的Man对象增加个姓名属性和语言方法:
function man() {
this.age = "22";
}
var tom = new man();
man.prototype.name = "tom";
man.prototype.say = function () {
...
分类:
编程语言 时间:
2014-07-02 08:50:51
阅读次数:
261
man是自定义的对象,使用var tim = JSON.stringify(man); var newman=JSON.parse(tim)后newman的类型是“object”并不是一个Man,怎么才能变回一个Man呢?
function Man() {
this._type = "man";
this.name="";
this.run = function () {...
分类:
编程语言 时间:
2014-07-02 09:51:34
阅读次数:
187
信 念
人可以被打败,但不可以被打倒。心中有光,任何外来不利因素都扑灭对人生的追求和对未来的向往。很多时候,击败我们的不是别人而是我们对自己失去信心,熄灭了心中那片有如火山一般沉寂的光。只要心中有光,在第一百次被打倒后,就会第一百零一次站起来,并用不屈的毅力和信念赢得未来。...
分类:
编程语言 时间:
2014-07-02 08:52:13
阅读次数:
180
标准库:一些最爱
集合、堆和双端队列
集合
集合Set类位于sets模块中。
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> set(range(10))
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
集合是由序列(或其他可迭代的对象)构建的。主要用于检查成员资格,因此,副本是被忽略的:
>>> r...
分类:
编程语言 时间:
2014-07-02 08:44:12
阅读次数:
206
public class EvilTransform {
final static double pi = 3.14159265358979324;
//
//
// a = 6378245.0, 1/f = 298.3
// b = a * (1 - f)
// ee = (a^2 - b^2) / a^2;
final static doubl...
分类:
编程语言 时间:
2014-07-02 08:27:30
阅读次数:
285
1. 操作符的含义——该操作符执行什么操作以及操作结果的类型——取决于操作数的类型。
2. 数组通过指针赋值
int ia[10];
ia[0] = 0; // ok: subscript is an lvalue
*ia = 0; // ok: dereference also is anlvalue
int...
分类:
编程语言 时间:
2014-07-02 08:10:26
阅读次数:
226
final可以修饰:属性,方法,类
final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变。
final修饰的属性跟具体对象有关,在运行期初始化的final属性,不同对象可以有不同的值。
final修饰的属性表明是一个常数(创建后不能被修改)。
final修饰的方法表示该方法在子类中不能被重写,final修饰的类表示该类不能被继...
分类:
编程语言 时间:
2014-07-02 08:38:27
阅读次数:
158