PDA

View Full Version : ساختن #include<> برای توابعی که خودمان نوشتیم



hosseinam1370
یک شنبه 02 شهریور 1393, 14:47 عصر
سلام.
دوستان من برای میخام برای تابعی که نوشتم ، بیام یکاریش کنم که مثل بقیه پیش پردازنده هایی که اینکلود میشن و حالا ما اسم تابع و آرگومان ها رو مینویسیم و خودش میره داخل تابع و حساب میکنه و برمیگرده ، تا همین کار رو هم برای تابع من انجام بده، دیگه نیام تو هر کدی که مینویسم ، اینم بهش اضافه کنم، میخام اینکلودش کنم و بعد اونو با آرگومانهام فراخانی کنم بدونه اینکه در پروژه های مختلف بیام همون کدها رو دوباره بنویسم.

باید چیکار کنم؟


با تشکر از راهنمایی هاتون.

hosseinam1370
یک شنبه 02 شهریور 1393, 17:45 عصر
دوستان فرقی نداره ها، هرجوری بشه که دیگه کد ها رو تو پروژه هام ننویسم ، حله. فقط صداش بزنم بیا با آرگومانهام جواب بده.
یعنی هیچ راهی نیست؟

rahnema1
یک شنبه 02 شهریور 1393, 18:11 عصر
سلام، سوالتون واضح نیست. یه نمونه کد بذارید تا بدونیم چیکار می خواهید بکنید

sa1378
یک شنبه 02 شهریور 1393, 18:27 عصر
خب مثلا برای کلاس باید کلاس رو توی یه فایل مثلا test.h ذخیره کنین و توابعشو توی test.cpp ذخیره کنین و توی مسیر کد بزارین بعد include کنین

motherboard
یک شنبه 02 شهریور 1393, 19:07 عصر
سلام. برو به اینجا (http://barnamenevis.org/showthread.php?453743-%D8%B1%D9%88%D8%B4-%D9%87%D8%A7%DB%8C-%D9%85%D8%AE%D9%81%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D9%85%D8%AD%D8%AA%D9%88%DB%8C%D8%A7%D8%AA-%D8%AF%D8%B1%D9%88%D9%86-%DB%8C%DA%A9-%D8%AA%D8%A7%D8%A8%D8%B9).

hosseinam1370
یک شنبه 02 شهریور 1393, 19:11 عصر
شما فرض کنید که من نمیخام تابع display اینجا باشه ، میخام اینو یجوریش کنم که جای اینکه بیام تابع رو اینجا بنویسم ، بیام اینو اینکلود کنم و بعد تو main از این استفاده کنم.(حالا کد خیلی زیادتر هست)
#include "stdafx.h"
#include <iostream>
using namespace std;
void display ( struct linkedlist *sar2);
struct linkedlist
{
int data;
struct linkedlist *badi;
};

int main ()
{
struct linkedlist *sar = NULL;
display (sar);
system("pause");

}


// here type for display faction
void display (struct linkedlist *sar2)
{
while (sar2 != NULL)
{
cout << sar2->data << endl;
sar2 = sar2->badi;
}
cout << "----------------" << endl;
}
// finish of display kode



با تشکر.

motherboard
یک شنبه 02 شهریور 1393, 19:14 عصر
گرفتی ما رو!!! همون لینکی که تو پست قبل بهت دادم توضیحات کامل براش وجود داره و دو تا از دوستان لطف کرده بودند و به طور کامل جواب داده بودند.

rahnema1
یک شنبه 02 شهریور 1393, 19:21 عصر
دو تا فایل درست کن یکی مثلا به نام main.cpp و دیگری به نام mydisplay.h
محتوای main.cpp:


//main.cpp
#include "stdafx.h"
#include "mydisplay.h"
#include <cstdlib>
int main ()
{
struct linkedlist *sar = NULL;
display (sar);
system("pause");
}


این هم mydisplay.h

//mydisplay.h
#include <iostream>
using namespace std;
struct linkedlist
{
int data;
struct linkedlist *badi;
};

void display (struct linkedlist *sar2)
{
while (sar2 != NULL)
{
cout << sar2->data << endl;
sar2 = sar2->badi;
}
cout << "----------------" << endl;
}
// finish of display kode


هر دو تا هم توی یک فولدر بذار و کامپایل کن

hosseinam1370
یک شنبه 02 شهریور 1393, 22:14 عصر
گرفتی ما رو!!! همون لینکی که تو پست قبل بهت دادم توضیحات کامل براش وجود داره و دو تا از دوستان لطف کرده بودند و به طور کامل جواب داده بودند.

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

hosseinam1370
یک شنبه 02 شهریور 1393, 23:45 عصر
ممنون دوستان.
من اینو ساختم و ردیف شد.
ولی وقتی میخام در پروژهای دیگه از این هدرفایل استفاده کنم ، باید علاوه بر اینکه در قسمت solution explorer به header files ها اضافه کنم ، باید اون فایل هدری که ساختم و در یه پوشه دیگه هست و بیارم داخل این پوشه ی پروژه (پوشه ای که کدهام قراره اونجا save بشه ) کنار فایل sourse قرار بدم، تا بتونم از این هدر فایل استفاده کنم.
آیا برای ide شما هم همینجوریه؟

با تشکر.