PDA

View Full Version : سوال در مورد کلاس و زیر کلاس در Qt



motherboard
چهارشنبه 04 تیر 1393, 15:27 عصر
سلام.ببینید مثلا یک کلاس والدی داریم به نام QA و یک کلاس فرزندی داریم به نام QB .چیزی که مشخص هستش اینه که زیرکلاس QB عضو و یا عضوهایی از کلاس QA رو به ارث برده.توی زبان سی پلاس پلاس وقتی قراره یک کلاس جدیدی رو بسازیم که مثلا خصوصیت عمومی کلاس والد رو به ارث ببره.میایم به عنوان مثال این طوری می نوسیم:
class ebook:public book
در Qt زمانی که یک کلاس والد و یک زیرکلاس داریم.می خوام بدونم برای استفاده از عضوهای به ارث رسیده برای QB که در بالا اشاره کردم ایا لازم است است که یک همچین دستوری رو وارد کنم:
class QB:public QA
ویا این کار نیاز نیست(و در واقع اشتباه است!!!) و بدون وارد کردن دستور بالا می تونم هدر کلاس QA (کلاس والد) رو در اول برنامه فراخوانی نکنم و فقط زیرکلاس QB رو در اول برنامه هدرش رو فراخوانی کنم ضمن اینکه با این حال بتونم از عضو هایی که از کلاس والد برای زیر کلاس QB به ارث رسیده شده استفاده کنم؟؟؟؟

parvizwpf
چهارشنبه 04 تیر 1393, 16:50 عصر
خب شما دارید میگید برای استفاده از عضوهای به ارث رسیده خب پس باید اون ارث بری رو بنویسید. اگه درست متوجه شده باشم شاید شما نیاز دارید اطلاعاتی رو از کلاسی دیگر بخونید. بله میتونید هدر رو بخونید و به آبجکت اون کلاس و زیر مجموعه هاش دسترسی داشته باشید. نمیدونم درست متوجه شدم یا خیر.

motherboard
چهارشنبه 04 تیر 1393, 17:47 عصر
می دونم میشه به عضو های والد به شرط داشتن ارث بری دسترسی پیدا کرد و این از قوانین C++‎‎‎ است.اما سوالی که پرسیدم این بود که ایا زمانی که مثلا کیوت دو تا کلاس از پیش ساخته شده داره که یکی از کلاس ها والد هست و اون یکی مولود!!!!! ایا مولود برای استفاده از عضوهای والد باید طبق قانون C++‎‎‎ این طور نوشته بشه:

class QB:public QA



؟؟؟؟؟؟؟
البته می دونم کیوت یک زبان نیست و یک فریمورک برای C++‎‎‎ هستش.اما به هرحال سواله دیگه!!!!! ایا نوشتن این دستور اجبار هست تا بتونه مولود پیش ساخته شده در کیوت به اعضایی از والد پیش ساخته شده در کیوت دسترسی پیدا بکنه.!!!! مشکلم اینه که کمی گیج شدم :گیج: