PDA

View Full Version : ارث بري از كلاسي با دو شي از كلاس ديگر



hobab1987
یک شنبه 03 خرداد 1388, 23:20 عصر
سلام دوستان
يك سوال فني دارم تا برنامه رو تكميل كنم:
1) كلاس employee و student از porson ارث بري مي خواد بكنه.
كلاس porson داراي شي تاريخ و آدرس است. حالا كلاس employee از porson مي خواهد ارث ببرد. براي اين كارو و همچنين استفاده از آن در main برنامه رو نميدونم!
2) در كلاس employee و student شماره شناسه مي خوام منحصر به فرد باشه و باي در employee شناسه دريافت كنم .


class person
{
public:
void getp();
void showp();
date d[n];
address a[n];
private:
char firstname[20];
char lastname[20];
int id;
};
person ob[n];
class employee:public person
{
private:
int idem;
public:
void getem(){
getp();
cin>>idem;
}
void showem(){
showp();
cout<<idem;
}
}em[n];
//*************************************
int main()
{
int num;
for(int i=0;i<n;i++)
{
em[i].getem();
}
cin>>num;
em[num].showem();
getch();
return 0;
}

tdkhakpur
دوشنبه 04 خرداد 1388, 16:02 عصر
سلام:
ببینید شما با کد زیر

class employee:public person
در برنامتون کار ارث بری رو انجام نمیدید بلکه مشتق از کلاس peron برای employeeگرفتیتد
به اپراتور friend در داخل کتابتون مراجع کنید متوجه خواهید شد.
شما منظورتون اینه که فقط یه چیزهایی رو از کلاس قبلی گرفته و به کلاس جدید بدید.

hobab1987
چهارشنبه 27 خرداد 1388, 21:51 عصر
كلاس person ام كه id داره نخوام كه employee از id ان ارث نبرد و منحصر به فرد باشد براي هر كلاس چه كار كنم؟

tdkhakpur
چهارشنبه 27 خرداد 1388, 22:28 عصر
سلام
فکر کنم باید از کلمه کلیدی زیر استفاده کنید.


protected:
int Id;

cups_of_java
جمعه 29 خرداد 1388, 01:21 صبح
كلاس person ام كه id داره نخوام كه employee از id ان ارث نبرد و منحصر به فرد باشد براي هر كلاس چه كار كنم؟

یا من سوالتون رو درست متوجه نمی شم یا حدس می زنم شما در مفهوم شی گرایی مشکل دارید!

مگه هر employee نباید یک id داشته باشه؟

erfan_goohooli
جمعه 29 خرداد 1388, 04:36 صبح
كلاس person ام كه id داره نخوام كه employee از id ان ارث نبرد و منحصر به فرد باشد براي هر كلاس چه كار كنم؟
ببین همین الان هم نمیتونی از id کلاس person استفاده کنی چون private تعریف شده. اگه بخوای از متغیری در یک کلاس به وسیله شیئی از کلاس فرزندش دسترسی پیدا کنی، متغیر یا باید public باشه یا protected. که البته برای امنیت بیشتر از protected استفاده می شه. اشیاء کلاس فرزند فقط می تونن به متغیرهای public یا protected دسترسی پیدا کنن و اونا نمی تونن به متغیرهای private دسترسی پیدا کنن.