شما اینجا هستید

خانه

برنامه نویسی شی گرا: مقدمه (قسمت اول)

?????? ????? ?? ??? ?? Object Oriented Programming  ?? ?? ???? ???? OOP ?? ???? ?????? ????? ??? ?? ?? ???? ???? ?????? ????? ? ???? ?????? ??????? ?? ???. ???? ??? ?? ??? ??????? ?? ?????? ?? ??? ??????? ???? ?? ?? ???? ?????? ????? ????? ?? ??? ?????? ?? ???????? ?? ???? ?????? ???????. ?????? ?? ???? ??? ?????? ????? ??? ???? JAVA ? C++ ? #C ? PHP ? ...  OOP ?? ???????? ?? ????. ???? ????? ?????? OOP ??? ?? ?? ??? ???? ?? ??? ?? ??????? ?? ??? ?? ???? ??? ??? ???? ?? ? ??????? ?????? ????? ???? ???? ????? ???? ????? ??? ???? ? ??? ? ... ?? ?? ????.

?? ??? ??? ???? ?? ??? ?? ??? ???? ?????? ? ???? ?????? ????? ?? ??? ?? ?? ???? ??? ????? ????? ?? ???? ?????? ???? ?? ???? C++ ????? ???. ????? ??????? ?? ?? ???? ??? ???? ?????? ?? ?????? ??? ?? ?????? ?????? ???? ?? ??? ????? ? ?? ???? ???? ??? ??? ?????? ???????. ???? ??????? ?? C++ ?? ?? ?? ???? ????? ???? ??? ??? ?? ??? ???? ???? ??? ????? ??? ???? ?? ?????? ???? ??? ASPEN ? HYSYS ? FlUENT ? ... ?? C++ ????? ??? ???. ??? ?? ???? ????? ?? C. ???? ?? ?? ???? ???? ??? ?? ???? C ????? ?????? ?? ?? ???? ??? ??? ???? ??? JAVA ?? ????. ?? ????? ??? ?? ?????? ??? ???? ?? ???? ???? ?????? ?????? ??? ??? ????? ??? ?????? ???? ? ?????? ???? ??? ??? CFD ? ?? ??? Game engine ??? ?? ???? ???? ?? ????? ???? ?? ???? ????? ????? ????? ????? ?? ?? ???? ??? ????? ??? C ?? ???????. ????? ???? C ?? ??? ???? ?????? ?? ????? ?? ???????? ??? ???. ??? ?? ???? ???? ?? ????? ?? ?? ????? ?? ?? ??????? ???. ?????? FLUENT ?? ?? ??????? ???? ??? ????? ??? CFD ??? ?? ?? C ????? ??? ???. ?? ???? ?????  ?? ??? ?? ??? ??? ????? ???? ????? ????? ???.

?? ?? ???? ?? ??? ?? ?????? ???? ?????? ????? ???? ??? ??? ?????? C++ ???? ??? ?? ?? ?? ?? ??? ?? ???? ?? ?????? ??? ??? ?????? ??? ????? ?? ?? ???? ? ?? ?? ???? ?? ?????? ?? ?? C ????. ? ?? ??? ?? ??? ?????? ???? ?? ? ?????? ?????  ?? ?? ???? ????? ????? ?? ????.

? ??? ???? ?? ?? ????? ?????? ????? ?? ??? ?? ?? ????? ??? ??  ?? ???? ?????? ???? ?? ????? ???? ???? ?? ? ??? ?? ? ???????? ?? ?? ?? ??????. ???? ?? ?? ???? ?? ??? ????? ?? ???? ? ??? ? ... ???? ?? ?? ???? ??? ????? ?? ???? ?? ???:

??? ???? ?? ??? ?? ?????? ???? ?? ??????. ?? ??? ???? ???? ??? ???? ?????? ???? ????? ????. ???? ???? ?? ????? ?? ?? ????? ?? ?? ?? ??? ??????. ??? ???? ???? ?? ?? ???? 2 ???? ????? ?? ????? ??? ??? ?? ??? ???? ???? ?? ???? ?? ????? ???? ?? ?? ???? ???? ??? ?? ???? ???? ????? ?? ???? ?? ??? ???? ??? ????? ??? ????? ??? ????? ?????? ????? ?? ?? ???? ???? ? ... ?? ??? ?????? ??? ?? ????? ?? ???? ?????? ????? data field ?? ?????. ?????? ???? ???? ?? ?? ?????? ?? ?? ???? ?? ??? ????? ???? ???. ???? ???? ?? ???? ??. ?????. ?? ??? ???? ???? ? ... ?? ???? ?? ??? ???? ?? ?? ???? ?? ??? ?? ???? ??? ?? ?????? ????? ?? ?? ????. ?? ??? ??????? method ?? ?????.

??? ?? ??? ???? ?? ??????? ?? ????? ?? ?????? ??????? ? ??? ?? ????? ?? ?? ???????? ????????. ???? ??? ????? ?? ???? ???? ?? ???? C++ ?? ??????:

?? ????? ?? ?? ???? C++ ????? ???? ?? ?? ?????? ????? ???? ?? ???? ???? ?? ?? ???? char (?? ????) ? ??? ???? (int)? ????? (double ?? float) ? ????? ????? ????? ??? ?? ?????. ??? int64 , bool  , ...

?????? ???? ?? ????? ???? ?? ?? ???? ?? ????? ???? ?????. ???? ?? ?????? ?? ??? ????? ?? ?? ????? ???? ????? ???? ?? ??? Car . ??? ?????? ?? ???? ??? ?? ??? ???? ????. ?? ??? ???? ?? ?? ?????? ?? ?? ?? ?? ?? ????? ?? ??? ????? ???? ?????? ?? ?? ??????? ????. ????:

Car myCar;

?? ???? ?? ??? ???? ?????? ?? ?? ????? ?? ??? ??? ????? ?? ??????:

float myFloat;

?? ????? ?? ?? ?? ????? ?? ????? ?? ?? ???? ?? ?? ?? ?????? ???? ??? ???? ???????? ????? ??????. ? ?? ?? ?? ?? ?? ???? ????? ????? ?? ?????? ?? ?? ? ????? ?? ? ??? ???? ??????? ??????.

???? ????? ? ??????? ?? ?? ?? ?? ??? ??? ???? ????? ????? ???. ???? ?????.

دیدگاه‌ها

سلام دوست گرامی با تشکر از لطفتون. من مدتهاست که کدهامو با متلب مینویسم اما به دلیل کند بودن متلب باید به سراغ سی پلاس پلاس برم. ولی متاسفانه درک مفهوم شی گرایی برام سخته. ممنون می شم اگر این مفهوم رو با توضیحات بیشتر و مثالهای ساده اما کاربردی توضیح بدید. مطمنا شما توانایی توضیح اون رو به بهترین نحو دارید و البته شمار بی شماری از مشتاقان سپاسگزار خواهند بود. بی صبرانه منتظرم. سلامت و تندرست باشید

سلام.
با نظر شما کاملا موافقم درباره کند بودن متلب. من یک تست ساده انجام دادم از یک حلقه تکرار و نتایج C رو با matlab مقایسه کردم. C++ تقریبا 100 برابر سریع تره!
تصور کنید شما یه برنامه بهینه سازی نوشتید و می خواید که 100 بار اجراش کنید، هر اجرا اگه تو سی 10 دقیقه طول بکشه، تو متلب 1000 دقیقه است! به نظر من یه مهندسی  که میره سراغ متلب تقریبا وقتش و تلف کرده. مگه این که واسه تست باشه یا یک برنامه خیلی ساده باشه. این نتایج مقایسه است:

 


void main()
{
    long double sum = 0;
    clock_t start,end;
    start = clock();
    for(int i=0;i<100000000;i++)
        sum += i;
    end = clock();
    cout << sum  << endl ;
    cout << "Duration: " << (end-start) << endl;
    
    system("pause");

}

Output:

5e+015
Duration: 173 Milli seconds : Release mode
482 ms on Debug mode


clc;
clear all;
tic;
sum = 0;
for i=1:100000000
    sum = sum + i ;
end
toc
disp(sum);


Output:

Elapsed time is 98.160303 seconds.
  5.0000e+015

 

بسیارزیاد تشکر میکنم از ویبلاک نویس محترم واقیعاکه مطالب ارزنده است

salam chera amozesh hatoon kamell nist?

سلام مهندس خوبید؟ وبتون خیلی خوبه ازش استفاده کردم موفق باشید بیش از پیش التماس دعا یاعلی

با سلام و خدا قوت : کلاسی به نام cylinder برای پیاده سازی یک استوانه بنویسید.ویک تابع سازنده بنویسیدوتابعی به نام volumeبرای محاسبه یحجم و print برای چاپ استوانه.(با استفاده از وراثت)

 

با سلام.

کلاس Cylinder رو از کلاس Shape مشتق کردم و دو متد ای رو که خواسته بودین پیاده سازی کردم. فکر می کنم کد ها واضح باشه در هر صورتی سوالی داشتین بازهم درخدمتم.

لینک دانلود کد های c++

با سلام و خسته نباشید.دستتون درد نکنه بابت آموزش هاتون.

افزودن نظر جدید

درباره من

سلام. به وب سایت شخصی من خوش آمدید.

محمد ذات خواهی هستم متولد سال 66 اهل رشت. سال 89 از دانشگاه شریف با مدرک لیسانس مهندسی شیمی و سال 91 از دانشگاه علم و صنعت ایران با مدرک ارشد کنترل و شبیه سازی فرایند فارغ التحصیل شدم، و در حال حاضر به عنوان مهندس نرم افزار در شرکت گسترش فرایند شریف هستم. از اونجایی که از دبیرستان به الگوریتم و برنامه نویسی علاقه داشتم از همون موقع تو این حیطه کار می کنم. بیشترین توانایی من در طراحی نرم افزار های مهندسی شیمی، طراحی وب و کلا کد نویسی هست. خوش حال میشم بتونم به دیگران کمک کنم خصوصا در حوزه آموزش. سعی می کنم تو این وب سایت مطالب و تجربه هایی که فکر می کنم به درد علاقه مندان به حوزه نرم افزار و برنامه نویسی بخوره قرار بدم. امیدوارم شما هم با نظرات و انتقادات و بحث های علمی تون در ارتقای محتوی علمی این وب سایت من رو یاری کنید.

 

Mohammad Zatkhahi Image

 

.

?>