קישור עם הסברים לחלק הראשון, לטובת אלו שמצטרפים אלינו בפעם הראשונה:
https://rotter.name/nor/prog/15952.shtmlהפעם הבעיה תשאר עד יום חמישי, שאחזור הביתה מהצבא.
הבעיה הפעם:
בחור יקר ונחמד כתב לו קוד מאוד חשוב. הקוד הנ"ל אמור להדפיס האם המשתנה החבר במחלקה A הוא המספר 10. זה בסה"כ כל הדרישה מהקוד.
שמח וטוב לב, קימפל הבחור היקר את התוכנית שלו.
להפתעתו הרבה, הפלט שקיבל לא היה הפלט שציפה לו:
אנא, מתכנתים יקרים. עזרו לבחור היקר למצוא את הטעות שלו!
#include <iostream>using namespace std; #define TRACE(x) OutputDebugStringA(x) class A { public: A() { m_someVariable = 10; } void printSomething() { if (m_someVariable == 10) { cout << "Variable is 10!" << endl; } else { cout << "Variable isn't 10! :(" << endl; } } private: int m_someVariable; };
class B { public: B(A* theFirstClass) { theFirstClass->printSomething(); } };
class C { public: C() : m_someClass1(new A), m_someClass2(new B(m_someClass1)) {} private: B* m_someClass2; A* m_someClass1; };
int main () { C testClass; }
|
לירן.
\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser