关于模版子类初始化模版父类,调用父类成员问题(未解决)
Posted 菜鸟根据地
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于模版子类初始化模版父类,调用父类成员问题(未解决)相关的知识,希望对你有一定的参考价值。
#include<iostream> using namespace std; template <typename T> class Parent { public: Parent(T p1) { this->p1 = p1; } void printP() { cout << "p1==" << p1 << endl; } protected: T p1; }; template <typename U> class Child : public Parent <U>//这里的<>在parent前后都可以 { public: Child(U c1, U tem) :Parent <U> (tem) { this->c1 = c1; } void printC() { cout << " c1 = " << c1 << " tem = " << tem << endl;//不理解这里为什么会出现错误? } private: U c1; }; class B:public Parent<int> { public: B(int b1, int p):Parent(p) { this->b1 = b1; } void printB() { cout << " b1 = " << b1 << " p1 = " << p1 << endl; } private: int b1; }; int main() { Child<int> h1(1, 3); h1.printC(); h1.printP(); cout << " 我是漂亮的分割线\n"; B b1(2,5); b1.printB(); b1.printP(); cout << " 我是漂亮的分割线\n"; Parent <char> a1(‘d‘); a1.printP(); system("pause"); }
结果显示: error C2065: “tem”: 未声明的标识符
以上是关于关于模版子类初始化模版父类,调用父类成员问题(未解决)的主要内容,如果未能解决你的问题,请参考以下文章