נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: מחלקות ו-C++

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
Nimce
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 24 July 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 10
נשלח בתאריך: 24 July 2007 בשעה 07:34 | IP רשוּם
ציטוט Nimce

היי,
אני ממש נואש, אף אחד לא עונה לי לשאלה הזו,בבקשה שמישהו כאן יענה...
יש לי תוכנית אחת:
תוכנית א':
קוד:

#include "iostream"
using namespace std;
class Number
{
    int number;
public:
    Number() {number=0;}
    operator int() {return number;};
    operator double() {return number;};
};
int main()
{
    Number number1;
    cout << (char)number1;//בכוונה אני ממיר לchar
    return 0;
}

עכשיו השאלה היא מדוע אם אני מוחק אחד מהconversion operators  התוכנית עובדת ואם אני משאיר אותה ככה עם שני conversion operators (שלא קשורים ל-char) היא לא עובדת...
זה פשוט מאוד מאוד מעניין אותי לדעת!
תודה רבה!

חזרה לתחילת העמוד הצג את כרטיס החבר של Nimce חפש הודעות אחרות של Nimce
 
ניר
מנהל האתר
מנהל האתר
סמל אישי

הצטרף / הצטרפה: 12 January 2005
מדינה: Israel
משתמש: מנותק/ת
הודעות: 3296
נשלח בתאריך: 24 July 2007 בשעה 09:26 | IP רשוּם
ציטוט ניר

כאשר אתה ממיר number1 ל-char המהדר מנסה לגלות איך לעשות זאת. הוא רואה שלא מוגדר אופרטור המרה ספציפי לזה, אבל הוא רואה שהוא יכול להמיר ל-int או ל-double ומשם ל-char.
אם יש לו את שתי אפשרויות ההמרה, הוא לא יודע איזו עדיפה ומודיע על שגיאה. אם יש לו רק אחת, למשל int, המהדר משתמש בפונקצית ההמרה כדי להמיר את number1 ל-int ואז לאחר מכן ממיר את ה-int שהתקבל ל-char.

ניר


__________________
מספר האייסיקיו שלי ו/או כתובת ה-MSN שלי אינם מהווים מוקד תמיכה
חזרה לתחילת העמוד הצג את כרטיס החבר של ניר חפש הודעות אחרות של ניר בקר בדף הבית של ניר
 
Nimce
משתמש מתחיל
משתמש מתחיל
סמל אישי

הצטרף / הצטרפה: 24 July 2007
מדינה: Israel
משתמש: מנותק/ת
הודעות: 10
נשלח בתאריך: 24 July 2007 בשעה 09:31 | IP רשוּם
ציטוט Nimce

תודה רבה! עזרת לי מאוד!

חזרה לתחילת העמוד הצג את כרטיס החבר של Nimce חפש הודעות אחרות של Nimce
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה