PDA

View Full Version : چگونه چندین فایل سی پلاس پلاس رو یا هم ترکیب کنیم؟



snbb000
سه شنبه 28 خرداد 1392, 23:02 عصر
سلام
دوستان من کتاب آموزش سی پلاس پلاس جعفر نژادو گرفتم توی بخش کلاس ها نوشته
مثلا کلاس رو توی 1.h تعرین کنید توابعش رو توی 2.cpp و برنامه اصلی توی 3.cpp
حالا توی برنامه اصلی چطوری باید کد بنویسم که توابعی که توی 2.cpp تعریف کردمو بفهمه ؟
ممنون

saied_hacker
سه شنبه 28 خرداد 1392, 23:26 عصر
فقط کافیه هدر فایل رو به بالای 3.cpp اضافه کنید.

البته باید توجه داشته باشید وقتی که کلاس داخل 1.h معرفی و در 2.cpp مقدار دهی شده پس داخل 2.cpp هم باید 1.h رو اضافه کنید.

#include "1.h"

snbb000
سه شنبه 28 خرداد 1392, 23:50 عصر
خوب همین کاروم میکنم اما نمیشه

الان توی 1.h اینو نئشتم
class test{
public:
void tester(void);
};
توی 2.cpp اینو نوشتم

#include <iostream>
#include "3.h"
using namespace std;
void test::tester(void)
{
cout<<"salam";

}

و توی 3.cpp اینو نوشتم

#include <iostream>
#include "3.h"
using namespace std;
main()

{

test TTT;
TTT.tester();

}

حالا 3.cpp رو مگه نباید بزنم کامپال که کامپایل کنه؟

saied_hacker
چهارشنبه 29 خرداد 1392, 10:45 صبح
مهندس شما کلاس رو در فایل 1.h تهریف کردی بعد چرا اومدی توی فایل های دیگه 3.h رو اینکلود کردی ؟!
همون پست بالا رو کامل میخوندی درست میشد...

class test{
public:
void tester(void);
};


#include <iostream>
#include "1.h"
using namespace std;
void test::tester(void)
{
cout<<"salam";

}


#include <iostream>
#include "1.h"
using namespace std;
main()

{

test TTT;
TTT.tester();

}

snbb000
چهارشنبه 29 خرداد 1392, 13:46 عصر
مهندس شما کلاس رو در فایل 1.h تهریف کردی بعد چرا اومدی توی فایل های دیگه 3.h رو اینکلود کردی ؟!
همون پست بالا رو کامل میخوندی درست میشد...

class test{
public:
void tester(void);
};


#include <iostream>
#include "1.h"
using namespace std;
void test::tester(void)
{
cout<<"salam";

}


#include <iostream>
#include "1.h"
using namespace std;
main()

{

test TTT;
TTT.tester();

}


فقط کافیه هدر فایل رو به بالای 3.cpp اضافه کنید.

البته باید توجه داشته باشید وقتی که کلاس داخل 1.h معرفی و در 2.cpp مقدار دهی شده پس داخل 2.cpp هم باید 1.h رو اضافه کنید.
خودتوتنم همینی که من گفتم گفتید . اونم اشتباه تایپی بود 3.h نبوده همون 1.h بوده اشتباه تایپ کردم
میشه کدو اصلاح کنید ؟ من فقط 3.cpp رو کامپایل کنم دیگه اجرا میشه ؟
ممنون میشم توضیح بدید دقیقا باید چیکار کنم

UfnCod3r
چهارشنبه 29 خرداد 1392, 20:03 عصر
ینی چی ک کدومو کامپیل کنم
با چی کار می کنی؟ با خط فرمان کامپایل نمی کنی؟
شما هر فایل .cpp ک تو پرژه داری کامپایل می شه خودش

snbb000
چهارشنبه 29 خرداد 1392, 21:26 عصر
ینی چی ک کدومو کامپیل کنم
با چی کار می کنی؟ با خط فرمان کامپایل نمی کنی؟
شما هر فایل .cpp ک تو پرژه داری کامپایل می شه خودش
با dev c++ چطوری باید کار کنم که همرو کامپایل کنه ؟

snbb000
چهارشنبه 29 خرداد 1392, 21:35 عصر
ببخشید فهمیدم مشکل چی بود
ممنون