| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1038 人关注过本帖
标题:在搞一题..给大家看看
只看楼主 加入收藏
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
结帖率:100%
收藏
 问题点数:0 回复次数:3 
在搞一题..给大家看看
main.cpp
Array <int>  arr1(12);
Array <int>  arr2(arr1);

head.cpp
template <class TYPE>
Array <TYPE> ::Array(int size)
{
_size = size;
pArray = new TYPE[_size];
if (pArray != NULL)
{
memset(pArray, 0, _size * sizeof(TYPE));
}
}

template <class TYPE>
Array <TYPE> ::Array(const Array& Arf)
{
Array(Arf.size());//在这我想调用构造函数。意思是先把arr2初始为空,并且通过构造函数分配空间。
//这样写肯定不行,因为是建立一个临时对象,我该怎么写呢。this-> Array和(*this).array都不行的。请教
memcpy(pArray, Arf.getparray(), Arf.size() * sizeof(TYPE));
}
搜索更多相关主题的帖子: Array TYPE int cpp size 
2008-03-18 20:31
张信哲
Rank: 1
等 级:新手上路
帖 子:139
专家分:0
注 册:2008-4-3
收藏
得分:0 
你真的很强
2008-04-11 20:31
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
第一次是调用tostring()方法是调用的..第二次是返回值打印..第三次是后一个打印函数的内容

学习需要安静。。海盗要重新来过。。
2008-04-11 20:40
lucky_boy
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2008-4-3
收藏
得分:0 
"先把arr2初始为空,并且通过构造函数分配空间"
是啥意思啊?复制构造函数把arr2初始为空干啥?
你具体啥意思我没搞清楚,不过这个复制构造函数我还是会的
template <class TYPE>
Array <TYPE> ::Array(const Array& Arf) :_size(Arf.size)
{
    pArray = new TYPE[_size];
    if (pArray != NULL)
    {
        memset(pArray, 0, _size * sizeof(TYPE));
    }
    //这里用for循环将Arf.pArray赋给pArray
    memcpy(pArray, Arf.getparray(), Arf.size() * sizeof(TYPE)); //这函数,不懂
}
那么,下面这个也应该对:
template <class TYPE>
Array <TYPE> ::Array(const Array& Arf)
{
    Array(Arf.size);
    //这里用for循环将Arf.pArray赋给pArray
    memcpy(pArray, Arf.getparray(), Arf.size() * sizeof(TYPE)); //这函数,不懂
}

[[it] 本帖最后由 lucky_boy 于 2008-4-11 22:25 编辑 [/it]]
2008-04-11 22:23
快速回复:在搞一题..给大家看看
数据加载中...
 
   



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

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