PDA

View Full Version : مشکل در شی گرایی



emaad_gh
یک شنبه 14 خرداد 1391, 22:23 عصر
با سلام خدمت دوستان ،
دارم رو یک پروژه کار می کنم که در اون احتیاج دارم که از متد های یک شی به طور مثال از کلاس a که در کلاسb ساخته شده در کلاس c استفاده کنم.
لطفا توضیح دهید چگونه این کار را انجام دهم؟
نکته : برنامه رو در محیط کنسول می نویسم.

به طور مثال من از کلاس Clock یک شی برای کلاس School ساختم که ساعت REAL من باشه و حالا می خوام از متد های اون شی ساخته شده مثل دریافت ساعت جاری و ... در یک کلاس دیگری مثل Student استفاده کنم تا مثلا دانش آموز خودش را برای رفتن به مدرسه با اون ساعت هماهنگ کنه.
لطفا کمک کنید.

ASGGSA
چهارشنبه 17 خرداد 1391, 17:08 عصر
سلام شما می توانید به دو راه عمل کنید.
راه اول از همان روش خودتان و راه دوم که اصولی تر هست استفاده از ارث بری.
راه اول : باید یک شیء هم در کلاس تعریف کنید تا با آن شیء به اعضا کلاس داخلی دسترسی دشته باشید.

class CA
{
public:
class CB
{
public:
int a;
float b;
private:
};
CB object;
int x;
double y;
private:
};

راه دوم که راه بهتری است و نیاز به تعریف شیء اضافی ندارد.

class CB
{
public:
int a;
float b;
private:
};
class CA : public CB
{
public:
int x;
double y;
private:
};
void main()
{
CA OBJECT;
OBJECT.a = 1;
OBJECT.b = 2.0f;
OBJECT.x = 3;
OBJECT.y = 4.0;
}