國立暨南國際大學 97 學年度第一學期小考試卷

科目名稱:資訊系統 與網路導論 開課系所:資訊工程 學系 任課教師
吳坤熹
系所別:
年級:
學號:
姓名:
考試日期
2009.4.8

(考試時間: 9:10-9:30)


  1. (10%) Determine whether the following code has syntax erros or not.  If it is correct, predict its output.  If it is incorrect, point out the mistake(s).
    #include <iostream>
    using std::cout;

    class CStack
    {
    public:
    CStack() // Default Constructor
    {
    index = 0;
    }
    void push(int i)
    {
    a[index++] = i;
    }
    int pop()
    {
    return a[--index];
    }
    private:
    #define StackSize 10
    int a[StackSize];
    int index;
    };

    int main() {
    CStack stack1;
    stack1.push(3); stack1.push(8);
    cout << stack1.a[1] << "\n";
    }







  2.  (10%) Determine whether the following code has syntax erros or not.  If it is correct, predict its output.  If it is
    incorrect, point out the mistake(s).

    #include <iostream> // Ex7_06.cpp
    using std::cout;
    using std::endl;

    class CBox // Class definition at global scope
    {
    public:
    double m_Length; // Length of a box in inches
    double m_Width; // Width of a box in inches
    double m_Height; // Height of a box in inches

    // Constructor definition
    CBox(double lv = 1.0, double bv, double hv = 1.0) // This line is different
    {
    cout << endl << "Constructor called.";
    m_Length = lv; // Set values of
    m_Width = bv; // data members
    m_Height = hv;
    }

    // Function to calculate the volume of a box
    double Volume()
    {
    return m_Length*m_Width*m_Height;
    }
    };

    int main()
    {
    CBox box2; // Declare box2 - no initial values

    cout << endl
    << "Volume of box2 = "
    << box2.Volume();

    cout << endl;
    return 0;
    }