为你的类指定一个缺省构造函数,如:abc::abc(){cout<<"Default constructor"<<endl;}
然后就可以abc a[2]了。

解决方案 »

  1.   

    可我的前提是一定要有参数的构造函数,要不然我得用些
    SetXXX之类的函数来为成员变量赋直了。
      

  2.   

    如果真的象Kevin_qing(Kevin)兄说的那样,那就太遗憾了,想省事都不行了。
    真的是这样吗? 
      

  3.   

    C++确实不允许直接这样做但你可以这样:先定义一个缺省构造函数,再定义一个带参数的构造函数像下面这样:
    class abc{
    public :
       init(int i){
            cout << "Constructor \n" ;
        }       
       abc(){}
       abc(int i){
            init(i);
            cout << "Constructor \n" ;
        }
        ~abc(){
            cout << "Destroy\n" ;
        }
    };
    这样申明:
    abc a[2];
    for(int i=0;i<sizeof(a)/sizeof(abc);i++)
      a[i].init(1);只能这样!
      

  4.   

    class abc{
    public :
        abc(int i = 2){  //加入缺省值
            cout << "Constructor \n" ;
        }
        abc(){
            i = 2; //或在这里
            cout << "Constructor \n" ;
        }    ~abc(){
            cout << "Destroy\n" ;
        }
    };以上还不满意,可用用template
      

  5.   

    abc *a[2];a[0] = new abc(10);
    a[1] = new abc(5);不就可以了
      

  6.   

    wenjunlin2000(微软克星) 好厉害
      

  7.   

    那家伙是不是拿java里的问题来这里套答案啊。用c++不用指针不就成java了嘛。
      

  8.   

    Cxx a[]=
    {
    Cxx(1),
    Cxx(2),
    Cxx(3)
    };