View Single Post
ישן 16-10-07, 23:03   # 1
Source
חבר מתקדם
 
Source's Avatar
 
מיני פרופיל
תאריך הצטרפות: Sep 2006
מיקום: אזור המרכז
גיל: 34
הודעות: 626
שלח הודעה באמצעות MSN אל Source

Source לא מחובר  

[בעיה] C++ (מחלקות ומרחבי שמות)

הערה מקדימה: אני עובד עם VC++ 2005.
ולבעיה:
יצרתי מחלקה String, שהממשק שלה מצוי ב-string.h והמימוש ב-string.cpp, כאשר string.cpp כולל את string.h וכנ"ל main.cpp, שהוא קובץ התוכנית עצמה. כל הקבצים נמצאים באותה תיקייה.
המחלקה משתמשת בטיפוס מוגדר (typedef), והבעיה היא שכאשר אני מגדיר את הטיפוס ב-string.cpp בלבד התוכנית לא עוברת הידור כי string.h לא מכיר את הטיפוס, והתוכנית עוברת הידור רק אם אני מגדיר את הטיפוס גם ב-main.cpp (הגדרת הטיפוס ב-string.h לא משפיעה כלל). אני לא רוצה להגדיר את הטיפוס בכל פעם שאני משתמש בספרייה.

ובעיה נוספת:
כאשר ניסיתי להכניס את ממשק המחלקה String שב-string.h למרחב שמות, והצהרתי ב-string.cpp שימוש במרחב שמות זה, התוכנית לא עברה הידור כי הפונקציות החברות של המחלקה String לא הורשו לגשת לאובייקטי String.


תודה רבה מראש =].
__________________
פיני: מקודד; מתכנת אתרים:
קוד:
HTML [XHTML], CSS, JavaScript, PHP, mySQL

ליצירת קשר:
אי מייל + מסן: pizilber@gmail.com
  Reply With Quote