读书人

又是模板异常

发布时间: 2012-04-09 13:41:25 作者: rapoo

又是模板错误?

C/C++ code
#include<iostream>using namespace std;template<typename T>class A{    private:        T a;    public:        A(T m)        {            a=m;        }        void print()        {            cout<<"A::a="<<a<<endl;        }};template<typename T>class B:public A<int>{    private:        T b;    public:        B(T n,int i):A<int>(i)        {            b=n;        }        void print()        {            cout<<"B::a="<<a<<endl;            cout<<"B::b="<<b<<endl;        }};int main(int argc,char *argv[]){      A<float> a(1.5);      B<int>   b(2,4);      a.print();      b.print();      return 0;}//错误信息//test.cpp: 在成员函数‘void B<T>::print() [with T = int]’中://test.cpp:38:12:从此处实例化//test.cpp:6:5: 错误: ‘int A<int>::a’是私有的//test.cpp:28:4: 错误: 在此上下文中


是怎么回事儿?还望知道的同学指点以下!

[解决办法]
报错提示就是那意思。不允许派生类访问基类私有成员。

读书人网 >C++

热点推荐