话说,在大学刚接触C语言时,我们的老师便不断地!不断地!!不断地!!!告诉我们要把main函数分为5个部分:
1、声明+初始化 2、赋值 3、输入 4、输出 5、释放
我就非常不理解,为什么非要把『声明+初始化』以及『赋值』两步分开。
明明教材就有程序是这么这样的:int i = 10; 更有甚者,直接int i, j = 1,k = 10; 连声明加赋值,直接都搞定。
而为什么老曹总逼我们把别人写一行的代码写成10行……
//initialization
int i = 0
int j = 0;
int k = 0;
class Example
{
private:
int m_data1;
int m_data2;
int * m_pdata3;
public:
Example();
void setData(int given1, int given2, int given3);
};
Example::Example()
{
m_data1 = 0;
m_data2 = 0;
m_pdata3 = new int;
*m_pdata3 = 0;
}
void Example::setData(int given1, int given2, int given3)
{
m_data1 = given1;
m_data2 = given2;
*m_pdata3 = given3;
}
int _tmain(int argc, _TCHAR* argv[])
{
Example e1;
e1.setData(10, 20, 30);
Example e2;
e2 = e1;
e2.setData(40, 50, 60);
return 0;
}



Example& Example::operator=(const Example& e)
{
m_data1 = e.m_data1;
m_data2 = e.m_data2;
m_pdata3 = new int;
*m_pdata3 = *(e.m_pdata3);
return *this;
}
int _tmain(int argc, _TCHAR* argv[])
{
Example e1;
e1.setData(10, 20, 30);
Example e2;
e2 = e1;
e2.setData(40, 50, 60);
return 0;
}

int _tmain(int argc, _TCHAR* argv[])
{
Example e1;
e1.setData(10, 20, 30);
Example e2 = e1;
e2.setData(40, 50, 60);
return 0;
}

1142




被折叠的 条评论
为什么被折叠?



