}
//文件已经被关闭,即使某步操作抛出异常
}
}
效果
1,资源管理自动化,不局限于内存
2,c++中使用模板,可统一定义大部分资源的包装类,目前的c#只能为每种资源定义单独的类,或者使用aop
构造函数中的虚函数
语言特性|
[c++] 虚函数与对象状态有关,与访问权限(public/protected/private)无关 只要子类对象构造出来了,就可以调用重写的方法,不管访问权限 |
[java, c#] 虚函数与对象状态无关,与访问权限(public/protected/private/default/internal)有关 只要访问权限允许,就可以调用重写的方法,不管子类对象构造出来没有 |
后果
|
[c++] 在基类构造函数/析构函数里调用的方法永远都是基类的实现,不会调到子类;在其它方法里面虚函数永远都是调到子类的覆写实现,不管是不是private |
[java, c#] 在基类构造函数里调用方法,只要子类覆写了该方法,就会调到子类的实现 |