标题:在搞一题..给大家看看
只看楼主
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



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




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

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