c++ הגדרת מחלקה מקוננת nested class

shakedunay

New member
c++ הגדרת מחלקה מקוננת nested class

האם יש ב c++ מחלקות פנימיות כמו שיש ב java? אם כן, איך מגדירים מחלקה פנימית ב c++? וכיצד יוצרים משתנה מטיפוס המחלקה הפנימית? דוגמא תתקבל בברכה או הפנייה לאתר שמסביר את הנושא.
 
דוגמא יש כאן:

http://www.nbirn.net/Resources/Developers/Conventions/Style/C_Includes.htm עכשיו אני מבין למה אומרים של-JAVA יש קוד יותר מובן וקריא משל C++
 

shakedunay

New member
אוקיי, תודה. אבל יש שם רק הצהרה

ומימוש של מחלקה פנימית, אני רוצה לדעת גם איך להגדיר משתנה שהוא מחלקה פנימית
 

selalerer

New member
זה מאוד אינטואיטיבי:

ההגדרה היא בדיוק כמו כל משתנה אחר:
class big { private: int data; class small { private: int smallData; public: small(int data):smallData(data){} void func1(); } public: big(int data):data(data){} void func2(); }​
והמימוש:
void big::func2() { //bla bla bla... } void big::small::func1() { //blue blue blue... }​
פשוט ממשיכים עם הכתיב של ה4 נקודות כאשר משהו שייך למחלקה מסויימת, ובנוסף אתה יכול לעשות את כל המימוש בתוך הגדרת המחלקה כמו בJava (כפי שמימשתי את הבנאים פה), על אף שזה לא נהוג בשביל להוסיף קריאות לקוד מלבד פונקציות שהמימוש שלהן קצת במיוחד (שוב, כמו הבנאים פה).
 
למעלה