return0;
}
六.类
#include
#include
usingnamespacestd;
classCSerialPort
{
private:
stringName;
intSpeed;
intBufferLength;
staticintComCounts;
public:
CSerialPort(stringname="com1",intspeed=9600,intbufferlength=500);
CSerialPort(constCSerialPort&cserialport);
staticintGetComCounts();
friendCSerialPort&operator++(CSerialPort&com);
friendCSerialPortoperator++(CSerialPort&com,int);
friendostream&operator<<(ostream&o,constCSerialPort&com);
~CSerialPort();
};
CSerialPort:
:
CSerialPort(stringname,intspeed,intbufferlength)
{
Name=name;
Speed=speed;
BufferLength=bufferlength;
ComCounts++;
}
CSerialPort:
:
CSerialPort(constCSerialPort&cserialport)
{
Name=cserialport.Name;
Speed=cserialport.Speed;
BufferLength=cserialport.BufferLength;
ComCounts++;
}
intCSerialPort:
:
GetComCounts()
{
returnComCounts;
}
CSerialPort&operator++(CSerialPort&com)
{
com.Speed++;
returncom;
}
CSerialPortoperator++(CSerialPort&com,int)
{
CSerialPorta(com);
com.Speed++;
returna;
}
ostream&operator<<(ostream&o,constCSerialPort&com)
{
o<<"串?
口ú名?
称?
:
阰"<o<<"串?
口ú通?
信?
速ù率ê:
阰"<returno;
}
CSerialPort:
:
~CSerialPort()
{
ComCounts--;
}
intCSerialPort:
:
ComCounts=0;
intmain()
{
CSerialPortportA;
cout<<"串?
口úportA为a:
\n"<cout<<"当獭?
前°创洹?
建¨的?
串?
口ú个?
数簓为a:
"<:
GetComCounts()<<"\n"<CSerialPortportB("com5",4800,1024);
cout<<"串?
口úportB为a:
\n"<cout<<"当獭?
前°创洹?
建¨的?
串?
口ú个?
数簓为a:
"<:
GetComCounts()<<"\n"<++(++portB);//连?
续?
前°自?
增?
操ù作痢?
cout<<"两?
次?
前°自?
增?
后ó,?
串?
口úportB为a:
\n"<cout<<"当獭?
前°创洹?
建¨的?
串?
口ú个?
数簓为a:
"<:
GetComCounts()<<"\n"<cout<<"一?
次?
后ó自?
增?
后ó,?
串?
口úportB为a:
\n"<cout<<"一?
次?
后ó自?
增?
后ó,?
串?
口úportB为a:
\n"<cout<<"当獭?
前°创洹?
建¨的?
串?
口ú个?
数簓为a:
"<:
GetComCounts()<<"\n"<CSerialPort*ptr_portC=newCSerialPort;
cout<<"串?
口úportC为a:
\n"<<*ptr_portC;
cout<<"当獭?
前°创洹?
建¨的?
串?
口ú个?
数簓为a:
"<:
GetComCounts()<<"\n"<deleteptr_portC;
cout<<"删?
除y串?
口úportC后ó,?
当獭?
前°创洹?
建¨的?
串?
口ú个?
数簓为a:
"<:
GetComCounts()<<"\n"<return0;
}
七、习题4
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
usingnamespacestd;
structStudent
{
intID;//学§号?
stringname;//姓?
名?
floatscore[3];//三▂门?
课?
程ì成é绩¨
};
voidsort(vector&a)
{
structStudenttemp;
intmin;
for(unsignedinti=0;i{
min=i;
for(unsignedintj=i;j{
if(a[j].ID{
min=j;
}
}
if(min!
=i)
{
temp=a[i];
a[i]=a[min];
a[min]=temp;
}
}
cout<<"排?
序ò后ó的?
学§生Θ?
信?
息¢为a:
阰"<for(unsignedinti=0;i{
cout<}
return;
}
voidDelete(vector&a)
{
ofstreamout("res.dat",ios:
:
binary);
for(unsignedinti=0;i{
if(a[i].name=="Tom")
{
a.erase(a.begin()+i);
}
}
for(unsignedinti=0;i{
out.write((char*)&a[i],sizeof(structStudent));
}
out.close();
return;
}
intmain()
{
structStudentarr[5];
vectora;
for(inti=0;i<5;i++)
{
cout<<"输?
入?
学§生Θ?
信?
息¢:
阰"<cin>>arr[i].ID>>arr[i].name>>arr[i].score[0]>>arr[i].score[1]>>arr[i].score[2];
}
for(unsignedinti=0;i<5;i++)
{
a.push_back(arr[i]);
}
sort(a);
Delete(a);
return0;
}
八.习题3
#include
#include
#include
#include
#include
#include
#include
usingnamespacestd;
intmain()
{
vectora;
a.push_back("Jua");
a.push_back("Feb");
a.push_back("Mar");
a.push_back("Apr");
a.push_back("May");
a.push_back("Jun");
a.push_back("Jul");
a.push_back("Aug");
a.push_back("Sep");
a.push_back("Oct");
a.push_back("Nov");
a.push_back("Dec");
sort(a.begin(),a.end(),less());
for(unsignedinti=0;i{
cout<}
return0;
}
9.习题2
#include
#include
#include
usingnamespacestd;
intmain()
{
ifstreamin1("Data.txt");
ifstreamin2("Res.dat",ios:
:
binary);
ofstreamout1("Res.dat",i