الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في الكلاس

بدأه rawan_1990 في 28 ديسمبر 2010 · 8 رد · 1,007 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أخواني وأخواتي الأعزاء

عندي استفسار عن اسماء الطرق لتقسيم الكلاس

يعني تقسيم الكلاس الى سورس وهيدر أيش اسمها .. وهكذا ,

لآتبخلوا بمعلوماتكم , لآهنتوا :) ..

#2

و عليكم السلام و رحمة الله و بركاته,

هناك طريقتان لكتابة الـ class في ++C. الأولى, هي كتابة الـ Definition مباشرة و أحياناً يسمى هذا inline definition:

// point.hpp
class point
{
public:
	point(int x_, int y_) : x(x_), y(y_) { }
	int getx() { return x; }
	int gety() { return y; };
private:
	int x, y;
};

و هناك الطريقة الأخرى, بحيث يتم فصل الـ Declaration عن الـ Definition و هذا يسمى أحياناً بالـ Separate Compilation. ما يحصل هو أننا نضع الـ Declaration في ملف و الـ definition في ملف آخر:

// point.hpp
class point
{
public:
	point(int x_, int y_);
	int getx();
	int gety();
private:
	int x, y;
};

// point.cpp
#include "point.hpp"

point::point(int x_, int y_) : x(x_), y(y_) { }
int point::getx() { return x; }
int point::gety() { return y; }

لكل طريقة مزايا و عيوب. بالنسبة لي شخصياً, فأنا أفضل الطريقة الأولى.

تحياتي...

1
#3

السلام عليكم ورحمة الله

إضافة بسيطة على مشاركة خالد :happy:

بخصوص الـ inline definition الأفضل بتكون في متل هذه الحالات والدوال البسيطة متل الموجودة بالأمثلة أعلاه

ولكن إذا كانت معقدة وطويلة نوعاً ما, الأفضل بتكون بملف المصدر cpp

وعموماً نموذجياً وبحسب حجم البرنامج المفروض بتكون مقسمة بطريقة Separate Compilation... :wub:

على الأقل لتسهيل عملية قراءة ومراجعة وتنظيم البرنامج

أطيب المُنى

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#4

مشكورين الله يعطيكم الف عافيه على التعاون :)

اخوي خالد ماقصرت على الشرح الوافي ,

خيتوو خبيره مررره شكرآآآآ ,

1/ الاولى تكون الكلاس كامله مع الـ main في ملف واحد

2/ والثانيه تكون الكلاس كامله والـ main ب ملف آخر

3/ والثالثه تكون الكلاس بس فيها prototype في header file وال definition لها بملف آخر وال main في ملف آخر ..

يآليت تفهموني اسمآئهم على هالاساس

آسفه على الاطاله :blush:

ومشكورين مقدما :) ..

تم تعديل هذه المشاركة بواسطة rawan_1990 في 29 ديسمبر 2010 في 23:14

#5
rawan_1990 كتب:

مشكورين الله يعطيكم الف عافيه على التعاون :)

اخوي خالد ماقصرت على الشرح الوافي ,

خيتوو خبيره مررره شكرآآآآ ,

1/ الاولى تكون الكلاس كامله مع الـ main في ملف واحد

2/ والثانيه تكون الكلاس كامله والـ main ب ملف آخر

3/ والثالثه تكون الكلاس بس فيها prototype في header file وال definition لها بملف آخر وال main في ملف آخر ..

يآليت تفهموني اسمآئهم على هالاساس

آسفه على الاطاله :blush:

ومشكورين مقدما :) ..

مش خبيرة مرررة كل هالقد ابداً :wub:

لأ يا ست الكل الملف تبع الـ main يُسمى ملف الزبون أو العميل إن صح التعبير وهو منفصل تماما عن الملفات والتقسيمات النموذجية الموجودة بمشاركة الأخ خالد!

مجرد تضميين ملفات الـ headers وإنشاء البرنامج وبناءه

لا شكر على واجب :happy:

موفقة يارب

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#6
rawan_1990 كتب:

3/ والثالثه تكون الكلاس بس فيها prototype في header file وال definition لها بملف آخر وال main في ملف آخر ..

ديري بالك خيت

رقم تلاتة هو بالزبط التقسيم النموذجي المسألة هون نموذجياً وعلى مستوى عالي أو إما ببساطة وبرامج ازغيرة وعلى عجالة

يعني رقم تلاتة ممتازة ونموذجية (مدوزنة بلهجتنا) :wub:

بالإضافة إلى تعريف مُسمى ملف الـ main في مشاركتي السابقة

بس هيك مش اكتر

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#7

مشكوره خيتوو على التوضيح :$ :wub:

ياليت احد يسعفني بإسم كل حالة على حدهـ :blush:

تم تعديل هذه المشاركة بواسطة rawan_1990 في 30 ديسمبر 2010 في 13:10

#8
rawan_1990 كتب:

مشكوره خيتوو على التوضيح :$ :wub:

ياليت احد يسعفني بإسم كل حالة على حدهـ :blush:

بس التالتة بمشاركتك انتي يا روان :wub:

بناءً وارتباطاً بمشاركة الأخ خالد مش اكتر

تقسيم هندسي نموذجي مش اكتر وعُرف واستحسانات

من خبراء السي++ وذوي الباع في مجال البرمجة بلغة سي++

وغالباً بيكون التقسيم هاد في إنشاء برنامج متقدم ويتميز بتقنية OOP

موفقة يارب

1

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#9

هل تتكلمين الفرنسية اختي؟ لدي مجموعة من الدروس بالفرنسية لن تملي ابدا ابدا من قرائتها و شرحها رااائع و مشوق جدا, لعلها تفيدك ان شاء الله

مواضيع مشابهة