注册 登录
编程论坛 C++教室

请问带参数的构造函数如何建立实例数组?

yangfrancis 发布于 2018-01-31 14:30, 2299 次点击
我是想建立IMAGE类型的二维数组,并且在建立时调用带有参数的构造函数。如果是单个实例的话,写成
IMAGE img(100,100);
就可以了。但我现在需要的是二维数组,我试了写成
IMAGE img[4][6](100,100);

IMAGE img(100,100)[4][6];
但两种写法都有语法错误,在此讨教一下要怎么写?
4 回复
#2
rjsp2018-01-31 15:47
IMAGE img[4][6] = { IMAGE(100,100), IMAGE(100,100), ……
#3
yangfrancis2018-01-31 17:59
一般不愿意用这种一个个处理的繁琐手段。看来没办法只有这样做了。
#4
william20112018-02-01 10:58
写一个示例给你。
#include <iostream>
using namespace std;

class MyImage{
    public:
        MyImage(){};
        ~MyImage(){};
        MyImage(int X, int Y):x(X),y(Y){};
        void show_me(){
            cout<<"x: "<<x<<" y: "<<y<<endl;            
        }
    private:
        //D2 data;
        int x{100};  //初始值
        int y{200};  //初始值
};

int main() {
    MyImage img[4][6]; //已含默认初始值
    img[0][0].show_me();
    return 0;  
}
#5
yangfrancis2018-02-01 22:51
回复 4楼 william2011
谢谢。其实默认初始值解决还是解决不了,因为类不是我自己写的,没有类的代码。
1