دیگه لازم نیست ، با هر بدبختی بود نوشتم![]()
دیگه لازم نیست ، با هر بدبختی بود نوشتم![]()
سلام دوستان
برای تعریف کلاس shapeچه متغیرایی لازمه؟!!!!![]()
شما در اين قطعه كد x رو مقدار دهي اوليه كرديد و كامپايلر در زمان كامپايل ميدونه چه مقدار حافظه رو به اون اختصاص بده،
شما اگه x رو از كاربر بگيري و "بعد" آرايه ي myarray رو با x تعريف كني مطمئنا خطا ميگيره؛
اگر با اين حال تست كرديد و حرفه بنده درست نبود،بهم بگيد.
Mehrdad Sh.
دوستانی که محیط بورلند سی ++ 5 را دارند ، آیا میتوانند به راحتی از فایل ها استفاده کنند .
من برنامه زیر را نوشتم برای استفاده از فایل ها که از فایل a نمره 10 دانشجو را میخواند و میانگین میگیرد ، در ویژوال استودیو با قرار دادن فایل در سورس فایل بدون خطا برنامه اجرا شد ولی الان فقط بورلند را دارم و اجرا نمیشود ، خواستم دوستی تستی کنند و احیانا راه حلی پیشنهاد بدهند ، ممنون میشوم
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید}
a.txt
10
20
10
15
20
11
14
20
20
10
اگر ماتریسی خودتوان و متقارن باشد ثابت کنید مجموع اعضای روی قطر اصلی اش با تعداد بردارهای سطری یاستونی مستقل خطی اش برابر است
Sent from my GT-P1000 using Tapatalk 2
سلام بر دوستان
یه برنامه نوشتم می خوام این برنامه رو بدون virtualبنویسم کسی می تونه کمکم کنه؟!!!#include <iostream>
using namespace std;
class shape
{
int x,y;
int c;
public:
shape(int x1,int y1,int c1){x=x1;y=y1;c=c1;}
virtual void draw(){};
};
class circle:public shape
{
protected:
int r;
public:
circle(int x1,int y1,int c1,int r1):shape(x1,y1,c1)
{
r=r1;
}
virtual void draw(){cout<<"draw circle:"<<r<<endl;}
};
class ellipse:public circle
{
int rr;
public:
ellipse(int x1,int y1,int c1,int r1,int r2):circle(x1,y1,c1,r1)
{
rr=r2;
}
virtual void draw(){cout<<"draw ellipse:"<<rr<<" "<<r;}
};
int main()
{
shape *shapelist[2];
shapelist[0]=new circle(1,1,9,5);
shapelist[1]=new ellipse(0,0,0,1,2);
for(int i=0;i<2;i++)
shapelist[i]->draw();
return 0;
}
سلام.سلام بر دوستان
یه برنامه نوشتم می خوام این برنامه رو بدون virtualبنویسم کسی می تونه کمکم کنه؟!!!
برای اینکه بتونید کاربرد توابع virtual رو شبیه سازی کنید باید از قالب ها استفاده کنید. با استفاده از قالب ها میتونید کارایی توابع virtual رو البته در زمان کامپایل و نه زمان اجرا داشته باشید.
نا گفته نماند که این مکانیزم تمام ویژگی های virtual ها رو به شما نمیده و محدود هست(برای مثال شما نمیتونید بصورت داینامیک ارث بری کنید) اما در مواردی که سرعت اجرا برای شما خیلی مهمه میتونه مکانیزم خوبی باشه به این دلیل که سربار جستجو در V-table کاملا حذف میشه.
من کدتونو تغییر دادم.(یکسری اشکالات جزئی داشت)
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by god of war 2; 17-05-2013 at 14:55.
ممنون
ولی من می خوام با همون آرایه از کلاس پایه این برنامه اجرا بشه و virtualهم نداشته باشه نه اینکه با شی از کلاس مشتق تابع را فراخوانی کنم!!!![]()
دقیقا یکی از محدودیت ها همین مورد هست. شما نمیتونید چنین کاری انجام بدید!ممنون
ولی من می خوام با همون آرایه از کلاس پایه این برنامه اجرا بشه و virtualهم نداشته باشه نه اینکه با شی از کلاس مشتق تابع را فراخوانی کنم!!!![]()
آخه استادمون گفت میشه!!!(البته گفت باید تو سر خوودتون بزنید تا بشه)
داشت درمورد اینکه توی تابع draw کلاس پایه ifبزارید و از این حرفا صحبت می کرد ولی زیاد توضیح نداد!!!
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)