回复 10楼 TonyDeng
是书中的原话,说起这本书,我真是够了,翻译很差劲,好多地方有错字,意思和事实相反的比比皆是,不知道是不是买到盗版了......
2016-01-20 09:37
程序代码: ......
int global = 1000;//静态持续,外部链接(可在其他文件中访问)
static int one_file = 50;//静态持续,内部链接(只在当前文件中访问)
int main()
{
....
}
void funct1(int n)
{
static int count = 0;//静态持续,无链接
}
//所有类型的静态持续性变量在整个程序执行期间都存在,未被初始化的将被设置为0
void funct2(int q)
{
........
}
........
程序代码://file01.cpp
int blem;
int main()
{
......
}
//file02.cpp
extern int blem;//不能对其初始化,否则为重新定义变量,extern关键字失效
.....[此贴子已经被作者于2016-1-21 16:51编辑过]
2016-01-21 15:30
2016-01-22 12:36
2016-01-22 15:07
[此贴子已经被作者于2016-3-8 16:05编辑过]
2016-03-02 15:03
程序代码://<<重载:
#include<iostream>
#include<ostream>
#include<iomanip>
using namespace std;
class Time
{
private:
int hours;
int minutes;
public:
friend ostream& operator<<(ostream& os,const Time &t);
Time();
Time(int,int);
//void Show()const;
~Time();
};
Time::Time()
{
hours=0;
minutes=0;
}
Time::Time(int hr,int mns):hours(hr),minutes(mns)
{
}
Time::~Time()
{
cout<<"析构\n";
}
/*void Time::Show()const
{
cout<<hours<<":"<<minutes;
}*/
ostream& operator<<(ostream& os,const Time &t)
{
//os<<setw(2)<<setfill('0')<<t.hours<<":"<<setw(2)<<setfill('0')<<t.minutes;
os<<setw(2)<<setfill('0')<<t.hours<<":"<<setw(2)<<setfill('0')<<t.minutes;
return os;
}
int main()
{
Time time(1,5);
//time.Show();
cout<<time<<endl;
return 0;
}
[此贴子已经被作者于2016-3-8 16:44编辑过]
2016-03-08 16:36
void operator<<(ostream& os,const Time& t)
{
os<<setw(2)<<setfill('0')<<t.hours<<":"<<setw(2)<<setfill('0')<<t.minutes;//这样可以使用cout<< <对象名>打印时间对象
}
程序代码:#include<fstream>
.........
ofstream fout;
fout.open("time.txt");
Time t(1,5);
fout<<t;
.....
程序代码:ostream& operator<<(ostream& os,const c_name &obj)
{
os<<.......;
return os;
}[此贴子已经被作者于2016-3-8 17:07编辑过]
2016-03-08 16:57
程序代码:#include <iostream>
using namespace std;
class complex0{
private:
double real;
double img;
public:
complex0();
complex0(double,double);
complex0 operator+(complex0 cp);
complex0 operator-(complex0 cp);
complex0 operator~(){complex0 tmp;tmp.real=real;tmp.img=-img;return tmp;};
complex0 operator*(complex0 cp);
complex0 operator*(double x);
~complex0(){};
friend ostream& operator<<(ostream& os,const complex0 cplx);
friend istream& operator>>(istream& is,complex0& cpi);
friend complex0 operator*(double x,complex0 cp);
};
complex0::complex0()
{
real=0;
img=0;
}
complex0::complex0(double r,double i):real(r),img(i)
{
}
istream& operator>>(istream& is,complex0& cpi)
{
cout<<"real:";
is>>cpi.real;
cout<<"img:";
is>>cpi.img;
return is;
}
ostream& operator<<(ostream& os,const complex0 cplx)
{
os<<"("<<cplx.real<<","<<cplx.img<<"i)";
return os;
}
complex0 complex0::operator+(complex0 cp)
{
complex0 tmp;
tmp.real=real+cp.real;
tmp.img=img+cp.img;
return tmp;
}
complex0 operator*(double x,complex0 cp)
{
return cp*x;
}
complex0 complex0::operator-(complex0 cp)
{
complex0 tmp;
tmp.real=real-cp.real;
tmp.img=img-cp.img;
return tmp;
}
complex0 complex0::operator*(complex0 cp)
{
complex0 tmp;
tmp.real=real*cp.real-img*cp.img;
tmp.img=real*cp.img+img*cp.real;
return tmp;
}
complex0 complex0::operator*(double x)
{
complex0 tmp;
tmp.real=real*x;
tmp.img=img*x;
return tmp;
}
int main()
{
complex0 a(3.0, 4.0); // initialize to (3,4i)
complex0 c;
cout << "Enter a complex number (q to quit):\n";
while (cin >> c)
{
cout << "c is " << c << '\n';
cout << "complex conjugate is " << ~c << '\n';
cout << "a is " << a << '\n';
cout << "a + c is " << a + c << '\n';
cout << "a - c is " << a - c << '\n';
cout << "a * c is " << a * c << '\n';
cout << "2 * c is " << 2 * c << '\n';
cout << "Enter a complex number (q to quit):\n";
}
cout << "Done!\n";
return 0;
}
[此贴子已经被作者于2016-3-30 10:42编辑过]
2016-03-30 10:26