摘要: Technorati 标签: 多重继承,虚继承1.多重继承下的类作用域名字查找规则:第一步,编译器找到一个匹配的声明。如果匹配的声明不止一个,则导致二义性,出错;第二步,编译器确定找到的名字是否合法。避免二义性的方法:在解决二义性的派生类中定义函数的一个版本。2. 采用虚继承的方法可以有效减少二义性。定义虚继承的方法,在派生列表中包含“virtual”。虚继承中名字查找方法。设查找函数func:(1)如果在每个路径中func表示同一基类成员,则没有二义性,因为类共享该成员的单个实例。(2)如果在某个路径中func是虚基类的成员,而在另一路径上是后代派生类的成员,也没有二义性,因为特定派生类实例 阅读全文
posted @ 2009-03-25 16:20 liyuxia713 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 1. 模板定义内的自定义类型成员调用方法(用typename显示说明):类可以定义类型成员,如size_type, size_t等类型。在定义模板类时如何调用它呢?为了说明是类型,显示用typename说明。template<class cl, class T>cl func(cl* cl_p, T value){ //cl::size_type * value; // If cl::size_type is a type, then a declaration // If cl::size_type is an object, then a multiplicationtypen 阅读全文
posted @ 2009-03-25 14:56 liyuxia713 阅读(227) 评论(0) 推荐(0) 编辑