國立暨南國際大學 100 學年度第二學期小考試卷
(考試時間: 8:10-8:20)
科目名稱:資訊系統
與網路導論 |
開課系所:資訊工程
學系 |
任課教師
|
吳坤熹
|
系所別:
|
年級:
|
學號:
|
姓名:
|
考試日期
|
2012.3.9
|
- (10%) Determine
whether the following code has syntax errors or not. If
it is correct, predict its output. If it is incorrect, point out
the mistake(s).
// Ex7_12.cpp
// Using a static data member in a class
#include <iostream>
using std::cout;
using std::endl;
class
CBox
// Class definition at global scope
{
public:
static int
objectCount;
// Count of objects in existence
// Constructor definition
explicit CBox(double lv, double bv = 1.0, double hv = 1.0)
{
m_Length =
lv;
// Set values of
m_Width =
bv;
// data members
m_Height = hv;
objectCount = 0;
}
CBox()
// Default constructor
{
m_Length = m_Width = m_Height = 1.0;
objectCount++;
}
private:
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
};
int CBox::objectCount =
2;
// Initialize static member of CBox class
int main()
{
CBox
boxes[5];
// Array of CBox objects declared
cout << "Number of objects (through class) = "
<< CBox::objectCount;
CBox cigar(8.0, 5.0, 1.0); // Declare cigar box
cout << endl
<< "Number of objects (through object) = "
<< boxes[2].objectCount;
cout << endl;
return 0;
}
- (10%) Determine
whether the following code has syntax errors or not. If
it is correct, predict its output. If it is incorrect, point out
the mistake(s).
// Copy Constructor
#include <iostream>
using std::cout;
using std::endl;
class
CBox
// Class definition at global scope
{
public:
// Constructor definition
explicit CBox(double lv, double bv = 1.0, double hv = 1.0)
{
m_Length =
lv;
// Set values of
m_Width =
bv;
// data members
m_Height = hv;
}
CBox(CBox& initB)
{
m_Length = initB.m_Length;
m_Width = initB.m_Width;
m_Height = initB.m_Height;
}
// private: // What would happen if data members are private?
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
};
int main()
{
CBox box1(8.0, 5.0, 1.0); // Declare cigar box
CBox box2(box1);
CBox box3 = box2;
cout << box3.m_Width << endl;
return 0;
}