مقداردهی به آرایه در سازنده کلاس - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

وبـــلاگ هــفت خــط کــد


آموزش های برنامه نویسی
۱۷۶ نفر آنلاین
۰ عضو و ۱۷۶ مهمان در سایت حاضرند

مقداردهی به آرایه در سازنده کلاس

+2 امتیاز
90 بازدید

سلام به همگی.

برای مقداردهی اولیه به یک آزایه در سازنده به صورت زیر عمل کردم ولی هر کاری می کنیم خطا میده.

class MyClass 
{
public:
 MyClass() : my_arr({1,2,3,4,5}) {}
private:
 int my_arr[5];
};

 

سوال شده مهر 17, 1393  بوسیله ی toopak (امتیاز 375)   4 9 51
پیغام خطا رو هم بنویسید چون این کد درست کار میکنه .

2 پاسخ

+1 امتیاز

بهتر my_arr را static تعریف کنید و بعد در سورس مقدار دهیش کنید.

//header
class Test{
public:
    Test() {}
    static const int a[3];
private:

};


//source
const int Test::a[3] = {1,2,3};

 

پاسخ داده شده مهر 19, 1393 بوسیله ی مصطفی ساتکی (امتیاز 17,035)   17 26 66
+1 امتیاز

برای استفاده از aggregate initializer نیازی به پرانتز نیست  .

کد زیر رو کامپایلر هایی که c++11 رو کامل پشتیبانی می کنن اجرا می کنن : (بغیر ازvisual studio  )

#include <iostream>   
      
class MyClass
{
public:
    MyClass() : my_arr{ 1, 2, 3, 4, 5 } {}
private:
	int my_arr[5];
};
int main() {
	MyClass c;
}

برای  vs هم از همون روش static بالا استفاده کنید.

 

پاسخ داده شده مهر 20, 1393 بوسیله ی BlueBlade (امتیاز 15,742)   13 17 85
...