关于模板。。。 大家抢分啊。。
template<class T1>
class A
{
}
template<class T2>
class B
{
}
template<class T3>
class C
{
B<A<T1>> student;//B类的参数是类A,而A也是一个模板类,能这样定义吗?
//如何实现?
......
}
问题点数:100、回复次数:8Top
1 楼oopig(面向对象的猪)回复于 2003-12-04 12:49:54 得分 50
在class C中T1类型不明,所以不可以这样子声明。
但是以下声明是合法的:
template<class T3>
class C
{
B< A<T3> > student; //注意两个>>之间至少要有一个空格
......
};
Top
2 楼leyt(思维机器)回复于 2003-12-04 12:53:35 得分 10
同意Top
3 楼layman2008(eniac)回复于 2003-12-04 12:56:05 得分 10
class{};
后面的分号都没有呀
Top
4 楼lao_shan(老山)回复于 2003-12-04 12:58:24 得分 0
对。对。 对。 空格狠重要!!! 多谢Top
5 楼layman2008(eniac)回复于 2003-12-04 12:58:59 得分 0
请问oopig(面向对象的猪)
为什么要在>>之间要加一个空格呢?Top
6 楼fireseed(【VC无敌,英明神武,千秋万代,一统江湖!】—奶油狗)回复于 2003-12-04 12:59:55 得分 30
1. 模版类声名的类型参数仅限在本类使用
2. 类声明结束后要加;号
3. B<A<T3>> 中的 >>会与右移运算符混淆Top
7 楼lao_shan(老山)回复于 2003-12-04 13:02:24 得分 0
如果不加空格,从事实上来说就是编译器会报错。从理论上来说就是会和cout<<"hello,world<<endl;中的输出运算符冲突。Top
8 楼layman2008(eniac)回复于 2003-12-04 13:07:51 得分 0
高手!!!
主要是从来没有这么用过!
多谢了!Top




