آیا اعضای Private کلاس پایه همیشه در کلاس مشتق شده در C++ به ارث برده می شوند؟ من قبلاً همه جا می دیدم که اعضای خصوصی کلاس پایه هرگز در کلاس مشتق شدهبه ارث برده نمی شوند، مهم نیست که چگونه کلاس پایه (خصوصی یا محافظت شده یا عمومی) را به ارث می برید.
آیا می توان یک عضو کلاس خصوصی را به ارث برد؟
عضوهای خصوصی در یک سوپرکلاس
یک زیرکلاس اعضای خصوصی کلاس اصلی خود را به ارث نمی برد. با این حال، اگر سوپرکلاس روشهای عمومی یا محافظت شده برای دسترسی به فیلدهای خصوصی خود داشته باشد، میتوان از این روشها توسط زیرکلاس نیز استفاده کرد.
چگونه اعضای خصوصی کلاس پایه را در C++ به ارث می برید؟
با وراثت خصوصی، عضو عمومی و محافظت شده کلاس پایه به اعضای خصوصی کلاس مشتق شده تبدیل می شوند. این بدان معناست که متدهای کلاس پایه به رابط عمومی شی مشتق شده تبدیل نمی شوند. با این حال، آنها را می توان در داخل توابع عضو کلاس مشتق شده استفاده کرد.
تفاوت بین ارث خصوصی و محافظت شده چیست؟
وراثت محافظت شده باعث می شود اعضای عمومی و محافظت شده کلاس پایه محافظت شده در کلاس مشتق شده محافظت شوند. وراثت خصوصی اعضای عمومی و محافظت شده کلاس پایه را در کلاس مشتق شده خصوصی می کند.
وقتی وراثت خصوصی است، متد خصوصی در کلاس پایه هستند؟
وقتی وراثت خصوصی است، روشهای خصوصی در پایه هستندکلاس در کلاس مشتق شده (در C++) غیرقابل دسترسی است. برای اطلاعات بیشتر در مورد وراثت مراجعه کنید: وراثت در C++ گزینه (A) صحیح است.