标题:型别是什么意思
取消只看楼主
最近不在
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:204
专家分:842
注 册:2010-2-28
结帖率:95%
已结贴  问题点数:20 回复次数:2 
型别是什么意思
template <class T>
class A
{
    typename T::SubType *ptr;
};
typename指出SubType是class T中定义的一个型别,因此ptr
是一个指向T::SubType型别的指针。

typename的用法,还有这个型别的意思不懂。
搜索更多相关主题的帖子: class 
2010-07-11 19:48
最近不在
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:204
专家分:842
注 册:2010-2-28
得分:0 
这样做有什么意义吗?能举点例子吗?还有这个T都未定义,如何来的SubType,更别说定义指向指向它的指针...不太懂,求例子
还有照这么说template <class T> T就是一货真价实的类?

2010-07-11 21:07
最近不在
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:204
专家分:842
注 册:2010-2-28
得分:0 
程序代码:
// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;

template <class T>
class A
{
public:
    typename T::SubType *ptr;
};

class T
{
public:
    typedef char SubType;
};

int main()
{
    int n = 68;
   
    A<int> obj;
   
    obj.ptr =  reinterpret_cast<char *> (&n);
   
    cout<<*(obj.ptr)<<endl;
   
    return 0;
}
刚开始我没写T的定义,编译通过了,是因为main函数也写动容。后来自己尝试写了个例子,清晰了!
2010-07-12 07:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-312661-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.019872 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved