PDA

View Full Version : حرفه ای: روش ساخت namespace شخصی در C++‎



Arshia Aghaei
پنج شنبه 18 دی 1393, 13:51 عصر
سلام به همگی.
من میخام یه namespace بسازم که توش هرچی کلاس و تابع و کتابخونه خاستم بنویسم و استفاده کنم بتونم.
کسی میدونه باید چه جوری این کارو بکنم ؟

omid_kma
پنج شنبه 18 دی 1393, 17:49 عصر
برای نمونه :

namespace my_namespace
{
class A{};
class B{};
void f(){}
namespace inner_namespace
{
class A{};
class B{};
}
}


int main() {
my_namespace::A a;
my_namespace::B b;
my_namespace::f();
my_namespace::inner_namespace::A a2;
}

Arshia Aghaei
پنج شنبه 18 دی 1393, 17:57 عصر
کاملا نفهمیدم .
تعریف namespace و قرار دادن تابع و کلاس رو فهمیدم.
ولی میخام تو چن تا Library یه سری کلاس و تابع بنویسم که زیر مجموعه namespace من باشن.
باید چی کار کنم ؟ :لبخندساده:

omid_kma
پنج شنبه 18 دی 1393, 18:16 عصر
کاملا نفهمیدم .
تعریف namespace و قرار دادن تابع و کلاس رو فهمیدم.
ولی میخام تو چن تا Library یه سری کلاس و تابع بنویسم که زیر مجموعه namespace من باشن.
باید چی کار کنم ؟ :لبخندساده:
برای نوشتن library باید پروژه از نوع dll بسازید که خب مراحل انجام کار بسته به نوع سیستم عامل و IDE که استفاده می کنید متفاوت هست .
ساخت namespace هم به همین شکلیه که مثال زدم . کدوم قسمت رو متوجه نشدید ؟
برای نمونه کد های مربوط به این library (https://github.com/Itseez/opencv_contrib/tree/master/modules/cvv/src/qtutil) رو ببینید :
فایل .hpp
https://github.com/Itseez/opencv_contrib/blob/master/modules/cvv/src/qtutil/util.hpp
فایل cpp
https://github.com/Itseez/opencv_contrib/blob/master/modules/cvv/src/qtutil/util.cpp

Arshia Aghaei
پنج شنبه 18 دی 1393, 18:30 عصر
برای نوشتن library باید پروژه از نوع dll بسازید که خب مراحل انجام کار بسته به نوع سیستم عامل و IDE که استفاده می کنید متفاوت هست .
ساخت namespace هم به همین شکلیه که مثال زدم . کدوم قسمت رو متوجه نشدید ؟
برای نمونه کد های مربوط به این library (https://github.com/Itseez/opencv_contrib/tree/master/modules/cvv/src/qtutil) رو ببینید :
فایل .hpp
https://github.com/Itseez/opencv_contrib/blob/master/modules/cvv/src/qtutil/util.hpp
فایل cpp
https://github.com/Itseez/opencv_contrib/blob/master/modules/cvv/src/qtutil/util.cpp
ولی من نمیخوام از dll استفاده کنم.
من میخام یه سری Library تحت namespace خودم بسازم و ازش تو برنامه هام استفاده کنم.

Arshia Aghaei
پنج شنبه 18 دی 1393, 19:21 عصر
یه نکته : منظورم فایل Header است.