C++;,从派生模板类查看基模板类中的对象 我编译以下模板的GC+4.83/P> C++代码 template <typename dtype> class Base { public: dtype base; dtype ceiling; Base() { }; virtual ~Base() { }; }; template<typename dtype> class Building : public Base<dtype> { public: dtype wall; Building(dtype concrete) { Base<dtype>::base=concrete; ceiling=concrete; wall=concrete; }; ~Building() { }; }; int main (int argc, char* argv[]) { Building<float>* building=new Building<float>(2.0); std::cout << building->base << std::endl; }

C++;,从派生模板类查看基模板类中的对象 我编译以下模板的GC+4.83/P> C++代码 template <typename dtype> class Base { public: dtype base; dtype ceiling; Base() { }; virtual ~Base() { }; }; template<typename dtype> class Building : public Base<dtype> { public: dtype wall; Building(dtype concrete) { Base<dtype>::base=concrete; ceiling=concrete; wall=concrete; }; ~Building() { }; }; int main (int argc, char* argv[]) { Building<float>* building=new Building<float>(2.0); std::cout << building->base << std::endl; },c++,templates,C++,Templates,看来 Base<dtype>::base=concrete; 没有。是否有任何方法可以对这个模板化代码进行迁移,以便在派生类构造函数中只引用模板化基类的“天花板”,而不必澄清它来自哪个类 提前感谢您可以使用此->天花板此选项不提供问题的答案。若要评论或要求作者澄清,请在他们的帖子下方留下评论。@RiggsFolly问题(整个帖子中唯一的问题)是:“是否有任何方法[…]我可以直接引用天花[…],而不必澄清它来自哪个类别?”我的答案是使用this->天花,这很有效,是正确的方法,并且准

看来

Base<dtype>::base=concrete;
没有。是否有任何方法可以对这个模板化代码进行迁移,以便在派生类构造函数中只引用模板化基类的“天花板”,而不必澄清它来自哪个类


提前感谢

您可以使用
此->天花板

此选项不提供问题的答案。若要评论或要求作者澄清,请在他们的帖子下方留下评论。@RiggsFolly问题(整个帖子中唯一的问题)是:“是否有任何方法[…]我可以直接引用
天花
[…],而不必澄清它来自哪个类别?”我的答案是使用
this->天花
,这很有效,是正确的方法,并且准确地回答了作者的问题。我可以继续说这不是编写方法(因为
Base
应该有构造函数参数,并在自己的构造函数中进行初始化),但我回答了问题。
Base<dtype>::base=concrete;
ceiling=concrete;