gpt4 book ai didi

C++,从派生模板类中查看基模板类中的对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:19:50 24 4
gpt4 key购买 nike

<分区>

当我使用 GCC 4.8.3 编译以下模板化 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;
}

我得到了错误

error: ‘ceiling’ was not declared in this scope
ceiling=concrete;

看来

Base<dtype>::base=concrete;

有效,但是

ceiling=concrete;

没有。有什么方法可以修改这个模板化代码,以便在派生类构造函数中我可以只引用模板化基类中的“ceiling”,而不必澄清它来自哪个类?

提前致谢

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com