摘要: 如果你没有声明下列函数,体贴的编译器会声明它自己的版本。这些函数是:一个拷贝构造函数,一个赋值运算符,一个析构函数,一对取址运算符。另外,如果你没有声明任何构造函数,它也将为你声明一个缺省构造函数。所有这些函数都是公有的。换句话说,如果你这么写:class Empty{};和你这么写是一样的:cla... 阅读全文
posted @ 2014-08-24 13:48 合唱团abc 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 第一个规则是,和公有继承相反,如果两个类之间的继承关系为私有,编译器一般不会将派生类对象(如Student)转换成基类对象(如Person)第二个规则是,从私有基类继承而来的成员都成为了派生类的私有成员,即使它们在基类中是保护或公有成员,即派生类对象不能访问基类的所有成员class person{}... 阅读全文
posted @ 2014-08-24 13:26 合唱团abc 阅读(149) 评论(0) 推荐(0) 编辑
摘要: · 当对象的类型不影响类中函数的行为时,就要使用模板来生成这样一组类。· 当对象的类型影响类中函数的行为时,就要使用继承来得到这样一组类。下面的代码通过定义一个链表来实现Stack类,假设堆栈的对象类型为T:templateclass stack{public: stack(); ~st... 阅读全文
posted @ 2014-08-24 13:12 合唱团abc 阅读(224) 评论(0) 推荐(0) 编辑