PDA

View Full Version : استفاده از توابع Header فایل در یک فایل ++C



saeedIRHA
دوشنبه 02 بهمن 1385, 05:38 صبح
سلام دوستان،
میخواستم بپرسم که چطوری میشه در ++C یک Header فایل
داشت که class تعریف شده در اون و عمل کرد توابع مربوطش در یک فایل مجزا
دیگه ++C باشه
و بشه تنها با فراخوانی Header فایل از توابع مربوط استفاده کرد؟
نحوه پرسیدنم ممکنه گنگ باشه به همین دلیل یک مثال میزنم:




#ifndef _PERSON_H_
#define _PERSON_H_
#endif
#include <stdio.h>

class Person
{
public:
Person();
~Person();

void Name();
void Age();

};


فایل Person.h



#include "Person.h"

Person::Person()
{
}
Person::~Person()
{
}

void Person::Name()
{
printf("Name\n");
}
void Person::Age()
{
printf("Age\n");
}


فایل Person.cpp

حالا میخوام که بشه در برنامه ی اصلی از کلاس Person استفاده کرد!


#include "Person.h"
#include <stdio.h>

int main()
{
Person *p ;
p=new Person();
p->Name();
printf("Salam");
return 0;
}



فایل Controller.cpp

زمانی که در VS میخواستم به یک پروژه کلاس اضافه کنم این کار به راحتی انجام میشد!
ولی الان نمیدونم چرا اینکار انجام نمیشه!

sasan_vm
دوشنبه 02 بهمن 1385, 09:03 صبح
سلام
فایل Person.cpp را باید به پروژه اضافه کنید.

saeedIRHA
دوشنبه 02 بهمن 1385, 21:27 عصر
سلام دوسته من!
مرسی از جوابت اما مسئله اینکه من الان دارم از VS استفاده نمیکنم!
و میخوام دستی این کارو انجام بدم و Compile کنم!

aidinwashere
دوشنبه 02 بهمن 1385, 21:46 عصر
دوست من، بگید تو چه محیطی کار میکنید تا در صورت امکان بیشتر کمک کنیم.

saeedIRHA
سه شنبه 03 بهمن 1385, 04:05 صبح
من هم از GCC در Windows استفاده میکنم هم در Linux برای Compile کردن
و ترجیحاً هم میخوام این کار رو دستی انجام بدم!
ولی در محیط KDE Develop Linux هم سعی کردم این کارو کنم نشد!
کلاً میخوام این کار رو فقط با استفاده از compiler انجام بدم به صورت دستی!

sasan_vm
سه شنبه 03 بهمن 1385, 09:03 صبح
سلام
از MakeFile استفاده کنید ،
روش ایجاد MakeFile :
http://users.actcom.co.il/~choo/lupg/tutorials/writing-makefiles/writing-makefiles.html

aidinwashere
سه شنبه 03 بهمن 1385, 20:38 عصر
والله من با VC بلدم، نشد بگو اونو بگم شاید دستت بیاد.
اصول اینه که باید فایله Headr رو کنار Header ها اضافه کنی و سپس فایل cpp. رو که محتوی متن کلاس هست هم تو "مسیر" ها باشه.
!

aakh1361
چهارشنبه 04 بهمن 1385, 03:34 صبح
فایل ابجکت Controller.cpp و Person.cpp رو ایجاد کن سپس با هم لینکشون کن

saeedIRHA
چهارشنبه 04 بهمن 1385, 05:32 صبح
سلام دوستان،
من تونستم با microsoft visual c++ toolkit 2003 و ++G این کارو انجام بدم
و Object فایل هارو Link کنم.
اما حالا این سؤال برام پیش امدم که چطور میتونم این کارو با
Linker های دیگه مثل ld انجام بدم؟!؟!