标题:【大家好】程序中有一部分 我实在想不明白【定义对象和初始化和一合并?】
取消只看楼主
JackyZhang
Rank: 2
等 级:论坛游民
帖 子:82
专家分:29
注 册:2010-7-12
结帖率:60%
已结贴  问题点数:0 回复次数:1 
【大家好】程序中有一部分 我实在想不明白【定义对象和初始化和一合并?】
程序代码:
#include<iostream>
using namespace std;
//定义类
class Arr
{
    int m;  //数组实际元素个数
    int a[100];
public:
    Arr(int x[],int size)//构造函数,用size始化m,用参数x初始化数组a
    {
        m=size;
        for(int i=0;i<m;i++)
            a[i]=x[i];
    }

    void delsame();

    void show()
    {
        for(int i=0;i<m;i++)
        {
            cout<<a[i]<<"\t";
            if((i+1)%5==0)
                cout<<endl;
        }
        cout<<endl;
    }
};
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
//定义类内函数delsame()
void Arr::delsame()//删除重复数据
{
    int i,j;
    for(i=0;i<m-1;i++)
    {
        if(a[i]==a[i+1])
        {
            for(j=i+1;j<m-1;j++)
            {
                a[j]=a[j+1];
            }
            m--;//删除一个数据后元素个数减一
            i--;//可能出现连续多个相同的数,so 继续判断当前元素
        }                                                                                                                    
    }
}
//主函数
int main()
{
    int b[16]={1,2,2,3,4,4,5,6,6,7,8,8,8,9,10,10};
    Arr v(b,sizeof(b)/sizeof(b[0]));//此行我想不懂
    v.show();//显示原数组
    v.delsame();
    v.show();//显示结果数组
    return 0;
}


我想问的有两点:(1)关于sizeof,我记得sizeof(数组)得到的是数组中的元素个数,而b数组中的元素个数是已知的,是不是可能这样做:Arr v(b,16);
(2)Arr是类也是构造函数,从程序中可以看出v是定义的对象了,那为什么可以这样定义 Arr v(b,sizeof(b)/sizeof(b[0]));难道Arr在此处可以初始化,还可以定义对象吗?C++中有这种语法吗?
搜索更多相关主题的帖子: 元素 
2011-04-29 08:11
JackyZhang
Rank: 2
等 级:论坛游民
帖 子:82
专家分:29
注 册:2010-7-12
得分:0 
回复 3楼 pangding
thx ,i see

初生牛犊,望多多照顾!
2011-04-29 10:26



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




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

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