مقدار دهی یک شی از یک کلاس با استفاده از سازنده، در یک کلاس دیگر

سلام

 

چطور میتوان یک شی از یک کلاس را به عنوان عضوداده ای در یک کلاس دیگر، با استفاده از سازنده تعریف و مقداردهی کرد؟
برنامه هنگام کامپایل کدی مانند مثال پایین، روی اعداد ورودی سازنده خطایی تحت عنوان

expected identifier before numeric constant

میدهد.


class Second{
    First head(10,10,21);

};

حمید پورمقدم
0
17:14 1398/01/29
مرتب سازی بر اساس: زمان ارسال امتیاز

سلام،

کافیست با فرمت زیر در سازنده کلاس First، سازنده عضو داده‌ای obj1  و obj2 از نوع کلاس Second را فراخوانی کنید:
(دقت بفرمایید که انواع و تعداد آرگومان‌ها صرفا به عنوان مثال می‌باشد)
موفق باشید.

class First {
    First(int, int);
private:
    Second obj1;
    Second obj2;
};

First::First(int num1, int num2)
    : obj1(num1), obj2(num2) {
}
مسعود کاظمی
استاد دوره
0
21:45 1398/01/29

مشکل من دراین حالت این است که ترتیب تعریف کردن کلاس های First و Second اهمیت پیدا میکند. در واقع اگر قرار باشد از نام هر کدام از این دو کلاس در دیگری استفاده شده باشد، کامپایلر نمیتواند هردوی آنها را همزمان شناسایی کند. برای حل این مشکل چه باید کرد؟


همچنین سوال دیگرم این است که اگر کلاس سومی مثل Third هم داشته باشیم که بخواهد یک شی از کلاس First را درون خود مقدار دهی کند، باید به همین شیوه عمل کرد؟ 

حمید پورمقدم
0
17:34 1398/02/03

متوجه سوال شما نشدم، لطفا کمترین کد ممکن را که گویای مساله شما هست در قالب مناسب ارسال کنید.

مسعود کاظمی
استاد دوره
0
02:44 1398/02/05