PDA

View Full Version : قرار دادن کلاس در فایل



ali-iman
چهارشنبه 17 شهریور 1395, 20:53 عصر
سلام خسته نباشید . چطوری میتونیم یک کلاس رو در یک فایل قرار بدیم و چطوری بعدا بتونیم از اون استفاده بکنیم ؟ منظورم از اینه ''gradebook.h'' . توروخدا اگه میدونین جواب بدید . هر چی خوندم نفهمیدم

AliAskari1375
پنج شنبه 18 شهریور 1395, 14:30 عصر
سلام
شیوه ی رایج اینه که تعریف یک کلاس رو توی یک هدر فایل میذارن و پیاده سازی توابع اون رو توی یه فایل .cpp انجام میدن.
مثلا یه فایل درست میکنن به نام ratio.h و توش اینارو مینویسن:


class Ratio
{
public:
void foo();

};

بعد یه فایل دیگه به نام ratio.cpp میسازن و بدنه ی تابع foo رو توی اون تعریف میکنن:

#include <iostream>
#include "ratio.h"
using namespace std;


void Ratio::foo()
{
cout << "Ratio" << endl;
}

حالا هر جای برنامه و توی هر سورس فایل دیگه ای که بخوان از کلاس Ratio استفاده کنن ratio.h رو include میکنن.

علی بهمنی جلالی
پنج شنبه 18 شهریور 1395, 19:18 عصر
سلام خسته نباشید . چطوری میتونیم یک کلاس رو در یک فایل قرار بدیم و چطوری بعدا بتونیم از اون استفاده بکنیم ؟ منظورم از اینه ''gradebook.h'' . توروخدا اگه میدونین جواب بدید . هر چی خوندم نفهمیدم
در سیستم‌عامل لینوکس اوبونتو برای کامپایل GradeBook.h (سرفایل کلاس یا سرآیند کلاس ) و GradeBook.cpp ( پیاده‌سازی کلاس ) و main.cpp ( کد مشتری ) در G++ یا clang++ می‌توانید از روش زیر استفاده کنید:
g++ main.cpp GradeBook.cpp -o run
clang++ main.cpp GradeBook.cpp -o run
اگر از داخل codeblocks IDE می‌خواهید کامپایل (همگردانی) کنید، معمولاً خودش با یک دکمه کامپایل می‌کنه و نیاز نیست که کار خاصی بکنید. اما اگر فایل‌های کلاس‌تان را نشناخت، می‌توانید فایل‌های کلاس را به codeblocks بشناسانید.
codeblocks از کامپایلرهای زیادی از جمله gcc و clang و ... پشتیبانی می‌کنه.