السلام عليكم
انا اعرف ان طريقة كتابة class نفس struct ولكن لا اعرف ما هو الاختلاف بينهم
شكرا
السلام عليكم
انا اعرف ان طريقة كتابة class نفس struct ولكن لا اعرف ما هو الاختلاف بينهم
شكرا
يا اخي العزيز
الفرق بي ال struct و class
انه في كل class ممكن يكون struct بس كل class مش ممكن يكون struct
علشان في ال class في خاصية access control
يعني privet , public وهي غير متواجد في ال struct
اذا عرفت متغير في ال class تحت privet تصبح هذه المتغيرات متاحه فقط
لي function الي داخل ال class يعني اي member function فقط
والعكس صحيح مع ال public
وشكرا
اضافة على كلام الأخ nono00700
الclass في c++ بينما ال struct في c
الclass يعتبر اهم دعائم البرمجة الشيئية (البرمجة مائنية المنحى)object oriented programming (oop)
وشكرا جزيلاً
عفواً كائنية المنحى وليست مائنية المنحى
الفرق يأخي أسهله عليك هو أن struct حاله خاصة من الclass بالنسبة للوضع العام public لأن كل متغيرات ال struct في الوضع الافتراضي عامه وهو كذلك بالنسبة لpublic في الclass مكا أن الخصوصية التي تحدث عنها الاخ لها أهمية كبيرة في الclass وهي ال private .
اللهم علمنا ما ينفعنا وأنفعنا بما علمتنا أنك أنت العليم الحكيم
سبحان الله وبحمده سبحان الله العظيم
لاحول ولاقوة الا بالله( كنز من كنوز الجنة ).
السلام عليكم
الأخوة الأعزاء لا يوجد فرق بين struct و class إلا في شيء واحد هو أن مستوى الحماية الافتراضي ل struct هو public و ل class المستوى الافتراضي private ، وتستطيع تغييره في الاثنين، ومعنى ذلك أنه يمكن كتابة الكلاسس بشكل ستركتس بدون أي مشاكل
والسبب في وجود 2 keywords لها نفس الوظيفة في ++C يعود لأسباب "تاريخية" ، يعني توافقية مع كود C اللي ما فيه إلى struct
لما أضيف مفهم Abstract data type وأصبح ال data type يحتوي على وظائف بالإضافة إلى حقول المتغيرات لم تعد كلمة Structure صحيحة لغويا وعلميا فأضيفت كلمة Class وظلت struct للتوافق مع الكود القديم.
السلام عليكم ورحمة الله وبركاته
قرأت هذا الكلام في سلسلة شوم البرمجة عن طريق ++ c
أن الفرق بين ال class و struct عبارة عن فرق لامعنا له
حيث أن كلاهما نفس الشيء كأنهما اسمان لشخص واحد
ولكن الفرق البسيط أن ال struct يبدأ public
أما ال class يبدأ private
مثال:
class my
}
; int x,y
}
x,y here is private
struct my
}
; int x,y
{
here x,y is public
and if you do
struct my
}
: private
; int x,y
{
know x,y is private
إذاً الكلاس الحالة الإفتراضية له private
والstruct الحالة الإفتراضية له هو public
إذا لايوجد فرق ذو معنى
اذا ليس هناك فرق بين ال class وال struct
فلماذا مصمم ال C++ وضع ال class ؟؟
طبعا اكيد هناك فرق، عفوا ليس فرق واحد وانما عده فروق
الاول
class is an object oriented programming
وال struct لا
ثانيا
هل يمكنك ان تكتب داله داخل ال struct ? لا
ولكن بالنسبه لل class نعم ويكون member
ثالثا
التصريح الافتراضي لل struct هو public
اما التصريح الافتراضي لل class هو private
رابعا
تصريحات ال struct هي عامه، اي public
بمعنى اخر، you can access the member of the struct in main function for example
ولكن تصريحات الclass متنوعه وهي
private
protected
public
خامسا
لايمكنك استعمال الوراثه باستخدام ال struct
ولكن يمكنك استعمال الوراثه في ال class
وهناك ايضا تصريحات للوراثه في ال class
سادسا
لنفترض لدينا
struct data
class data
عند تعريف متغير لل struct سوف تكتب
struct data vaiable
ولكن عن تعريف متغير لل class تكتب فقط
data variable
سابعا
بال class هناك مشيدات ومهدمات، بمعنى اخر constructer and destructer
ولكن في ال struct لايوجد مثل هذه الاشياء
ثامنا
you can encapsulate your data in class
but you can't in struct
تاسعا
ممكن تضع دوال operators overloading لل class
ولكن لايمكنك فعل ذلك لل struct
مثلا:
بالstruct لايمكنك فعل ذلك
struct 1 = struct2 + struct3
ولكن بال class مع اضافه لها دوال ال operator overloading يمكنك فعل ذلك
class1 = class2 + class3
هذا مثال على المتغيرات، وليس data type
هذه الفروق التي اعرفها، ويمكن ان يكون هناك فروق اخرى وانا اكون ناسيها
:)
الان هل يمكنك ان تقول ليس هناك فرق ؟ :)
اتمنى انه شرحي يكون واضح ووافي
واللي يحب يتعلم عن ال class اكثر، فليبحث بالانترنت،، والعلم + الاعتماد على النفس = شيء مهم وممتاز :)
السلام عليكم
أخي العزيز بو علي ، انظر جيدا لهذا البرنامج وأخبرني ما رأيك ;)
#include <iostream>
#include <string>
using namespace std;
struct Creature
{
protected:
string str;
public :
Creature()
{
cout << "nStruct has a constructorn";
}
void SetName(string nstr)
{
str = nstr;
}
virtual string GetName(void)
{
return str;
}
};
struct CCat : public Creature
{
public:
void Meoo(void)
{
cout << "Meoooooooooooooon";
}
string GetName(void)
{
return ("Cat Name: "+str);
}
string operator+(Creature cre)
{
str = str+cre.GetName ();
return str;
}
};
void main()
{
Creature cre;
cre.SetName ("is not a human");
cout << cre.GetName () << "n**********************nn";
CCat cat;
cat.SetName ("Sharoon");
cout << cat.GetName () << endl;
cat.Meoo ();
cout << "******************nnn";
string ope;
ope = cat + cre;
cout << ope << "nnn";
}أنا نقلت الكلام من سلسلة شوم إذهب إلى أحد المكتابات وقرأ وتعلم
++PROGRAMMING With c
SCHAUM'S
OUTlines
انظري صفحة 244 وإليك بعض المكتوب
So the difference between a class and a C++ struct is really jus cosmetic
هذا الموضوع مغلق.