{
int a;
float b;
....
}
class UAddin:public AddinBase<ABC>
{
.....
}
这儿用了 <ABC> 是什么意思?
9 个解决方案
#1
C++ 中著名的 模版 (template).
#2
AddinBase是个模板类,需要个参数
#3
我就是把他当成类来看,相当于继承了ABC的成员
#4
一般叫泛型吧,在AddinBase这个类里面有个地方不确定变量类型,而用<T>之类表示,定义变量的时候用T member这样的方式,在实现UAddin的时候用你那个ABC类表示指定了明确的类型,编译器就会用ABC替代原来AddinBase类中T类型的位置,这样实现了一个类用于多种不同的类型参数,实现算法重用。
#5
#6
这就是标准答案。
#7
这儿用了 <ABC> 是什么意思?
-------------------------------
传一个类型参数!
-------------------------------
传一个类型参数!
#8
讲的太好了
#9
有的时候因为类的名称不知道是啥,会变化
所以有人就设计了泛型,编译的时候进行模版替换的吧
所以有人就设计了泛型,编译的时候进行模版替换的吧
#1
C++ 中著名的 模版 (template).
#2
AddinBase是个模板类,需要个参数
#3
我就是把他当成类来看,相当于继承了ABC的成员
#4
一般叫泛型吧,在AddinBase这个类里面有个地方不确定变量类型,而用<T>之类表示,定义变量的时候用T member这样的方式,在实现UAddin的时候用你那个ABC类表示指定了明确的类型,编译器就会用ABC替代原来AddinBase类中T类型的位置,这样实现了一个类用于多种不同的类型参数,实现算法重用。
#5
#6
这就是标准答案。
#7
这儿用了 <ABC> 是什么意思?
-------------------------------
传一个类型参数!
-------------------------------
传一个类型参数!
#8
讲的太好了
#9
有的时候因为类的名称不知道是啥,会变化
所以有人就设计了泛型,编译的时候进行模版替换的吧
所以有人就设计了泛型,编译的时候进行模版替换的吧