السلام عليكم ورحمة الله وبركاته...
نتعامل مع الـ struct والـ class على الحل لجمع مجموعة بيانات خاصة بعنصر واحد في مكان واحد, ونثق كل الثقة في طريقة صياغة البيانات داخل الـ stcuct و الـ class
عظيم , تابع هذا المثال :
#include <iostream>
#include <stdlib.h>
using namespace std;
class ST {
unsigned char x;
unsigned long y;
unsigned short z;
public:
inline unsigned char Get_X(void) {
return x;
}
inline void Set_X(unsigned char value) {
x = value;
}
inline unsigned long Get_Y(void) {
return y;
}
inline void Set_Y(unsigned long value) {
y = value;
}
inline unsigned short Get_Z(void) {
return z;
}
inline void Set_Z(unsigned short value) {
z = value;
}
};
int main(int argc, char *argv[]) {
ST rec;
rec.Set_X(0x41);
rec.Set_Y(0x42434445);
rec.Set_Z(0x4647);
cout << "size of unsigned char = " << sizeof(unsigned char) << endl;
cout << "size of unsigned short = " << sizeof(unsigned short) << endl;
cout << "size of unsigned long = " << sizeof(unsigned long) << endl;
cout << "size of ST = " << sizeof(ST) << endl;
cout << hex << rec.Get_X() << endl;
cout << hex << rec.Get_Y() << endl;
cout << hex << rec.Get_Z() << endl;
system("PAUSE");
return 0;
}قبل تجريب البرنامج , قم بقرائة الكود , واحسب مساحة البيانات داخل الكلاس
شغل البرنامج , واقرأ النتائج
هل هذا ما كنت تتوقعه ؟؟
إذا كانت إجابتك لا , فقم بتعديل الكود ( كود الكلاس) لكي يعمل كما توقعت
المطلوب باختصار : تصغير مساحة البيانات التي تستخدمها الكلاس الى أقل قيمة ممكنة
بالتوفيق ان شاء الله