L
lizhuo
hi all:
I reading "C++ Templates: The Complete Guide "
Part II: Templates in Depth
9.4.1 Nondependent Base Classes
he write$B!'(B
In a class template, a nondependent base class is one with a complete
type that can be determined without knowing the template arguments.
who can tell me ,what is "Nondependent Base Classes" ?
if modify line005 "typedef X T;" ,what will happen?
001 template<typename X>
002 class Base {
003 public:
004 int basefield;
005 typedef int T;
006 };
007 template<typename T>
008 class D2 : public Base<double> { // nondependent base
009 public:
010 ......
011 };
013 template<typename T>
014 class DD : public Base<T> { // dependent base
015 public:
016 ......
017 };
I reading "C++ Templates: The Complete Guide "
Part II: Templates in Depth
9.4.1 Nondependent Base Classes
he write$B!'(B
In a class template, a nondependent base class is one with a complete
type that can be determined without knowing the template arguments.
who can tell me ,what is "Nondependent Base Classes" ?
if modify line005 "typedef X T;" ,what will happen?
001 template<typename X>
002 class Base {
003 public:
004 int basefield;
005 typedef int T;
006 };
007 template<typename T>
008 class D2 : public Base<double> { // nondependent base
009 public:
010 ......
011 };
013 template<typename T>
014 class DD : public Base<T> { // dependent base
015 public:
016 ......
017 };