בעיה עם Templates ב-C++

HaRmosh

New member
בעיה עם Templates ב-C++

יש לי שתי מחלקות: A, שהיא תבנית על הסוג T, ו-B. נניח ואני רוצה לתת גישה לשדות הפרטיים של B ע"י A, אז מה שאני צריך לעשות הוא להגדיר את A בתור friend. הבעיה היא, שכשאני מגדיר אותה כ-friend, הקומפיילר דורש סוג בתור תבנית, כלומר ציון מפורש בסגנון: friend class A<int> בתוך המחלקה B. אני דווקא צריך ש-A, ללא תלות בסוג הטיפוס שבתבנית, תהיה friend של B, ולאו דווקא A מסוג מסויים. האם יש דרך סינטקטית לעשות זאת ?
 

אמיר ט

New member
לא חושב

מה שקורה מאחורי הקלעים ב Templates זה שהוא בודק מראש את כל הסוגים שאתה משתמש בהם ומגדיר פונק,אובייקטים מתאימים מראש, ככה שאתה לא יכול להגדיר כזה דבר "באופן כללי" בלי תלות בטיפוס.
 
למעלה