| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1056 人关注过本帖
标题:[求助] 这个 模板构造函数 怎么写才有用?
只看楼主 加入收藏
wj_____b
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-2-5
收藏
 问题点数:0 回复次数:2 
[求助] 这个 模板构造函数 怎么写才有用?

#include<stdlib.h>
#include<iostream>
using namespace std;

class CB;
class CA;

template <class P>
class RefCounted
{
public:
RefCounted()
:pCount_(0)
{};
RefCounted(const RefCounted& rhs)
: pCount_(rhs.pCount_)
{}

// MWCW lacks template friends, hence the following kludge
template <typename P1>
RefCounted(const RefCounted<P1>& rhs)
: pCount_(reinterpret_cast<const RefCounted&>(rhs).pCount_+1)
{}
protected:
unsigned int pCount_;
};

template< class U, template< class > class someclass >
class TTC : public someclass< U >
{
public:
TTC()
{
cout<<"TTC()"<<endl;
};
template< class U1, template< class > class anyclass >
TTC( const TTC< U1, anyclass >& rhs )
{
cout<<"In TTC< U, someclass >( TTC< U1, anyclass > )"<<endl;
}
};


/*
class TTC< CA, RefCounted >
{
public:
TTC()
{
cout<<"TTC<A>()"<<endl;
};
TTC( const TTC< CB, RefCounted >& rhs )
{
cout<<"In TTC< CA, RefCounted >"<<endl;
}
};


class TTC< CB, RefCounted >
{
public:
TTC()
{
cout<<"TTC<B>()"<<endl;
};
TTC( const TTC< CA, RefCounted >& rhs )
{
cout<<"In TTC< CB, RefCounted >"<<endl;
}
};
*/

class CB
{
};

class CA
{
};

int main()
{
TTC< CB, RefCounted > b;
TTC< CA, RefCounted > a( b );
TTC< CB, RefCounted > ba( a );

system("pause");
return 0;
}

请教各位大虾,现在编译通不过(因为 TTC拷贝构造函数无效),加上被注释的程序后就可通过编译(我用的dev-cpp),请问如何修改
template< class U1, template< class > class anyclass >
TTC( const TTC< U1, anyclass >& rhs )
{
cout<<"In TTC< U, someclass >( TTC< U1, anyclass > )"<<endl;
}
这个模板拷贝构造函数,从而不加被注释的程序可使这个拷贝构造函数有效。

搜索更多相关主题的帖子: 函数 rhs RefCounted 模板 class 
2006-01-25 10:07
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
收藏
得分:0 
楼主说,这个程序不能编译通过?我把注释的程序删掉了,还能编译过去啊。
我用Borland C++,可以编译通过,还可以运行。

成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2006-01-25 11:42
wj_____b
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-2-5
收藏
得分:0 

非常感谢,看来这是编译器对c++标准支持不够导致的。

2006-01-25 12:26
快速回复:[求助] 这个 模板构造函数 怎么写才有用?
数据加载中...
 
   



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

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