摘要:
explicit 只对构造函数起作用,用来抑制隐式转换。如: class A { A(int a); }; int Function(A a); 当调用 Function(2) 的时候,2 会隐式转换为 A 类型。这种情况常常不是程序员想要的结果,所以,要避免之,就可以这样写: class A { explicit A(int a); }; int Function(A a); 这样,当调用 Function(2) 的时候,编译器会给出错误信息(除非 Function 有个以 int 为参数的重载形式),这... 阅读全文
摘要:
虚析构函数的使用(转载!)分类:C/C++2010-01-22 17:214465人阅读评论(2)收藏举报deletedestructorclassconstructor测试c一、当你的类准备给别人继承时要提供虚析构函数考虑下面例子:class A{public: A(){cout //给出一个没有虚拟析构函数的基类classBase{public: Base() { std::cout//给出一个没有虚拟析构函数的基类classBase{public: Base() { std::cout//给出一个有虚拟析构函数的基类classBase{public: Base() { 阅读全文