typedef struct bi_bitField
{
DWORD redCode;
DWORD greenCode;
DWORD blueCode;
const struct bi_bitField & operator = (const struct bi_bitField & F)//这个地方
{
if (&F != this)
{
redCode = F.redCode;
greenCode = F.greenCode;
blueCode = F.blueCode;
}
return *this;
}
friend std::istream & operator>>(std::istream & is,struct bi_bitField & F)
{
is >> F.redCode >> F.greenCode >> F.blueCode ;
return is;
} friend std::ostream & operator<<(std::ostream & os,const struct bi_bitField & F)
{
os << F.redCode << F.greenCode << F.blueCode ;
return os;
}
}bitField;
operator 和F怎么来的?
{
DWORD redCode;
DWORD greenCode;
DWORD blueCode;
const struct bi_bitField & operator = (const struct bi_bitField & F)//这个地方
{
if (&F != this)
{
redCode = F.redCode;
greenCode = F.greenCode;
blueCode = F.blueCode;
}
return *this;
}
friend std::istream & operator>>(std::istream & is,struct bi_bitField & F)
{
is >> F.redCode >> F.greenCode >> F.blueCode ;
return is;
} friend std::ostream & operator<<(std::ostream & os,const struct bi_bitField & F)
{
os << F.redCode << F.greenCode << F.blueCode ;
return os;
}
}bitField;
operator 和F怎么来的?
{
is >> F.redCode >> F.greenCode >> F.blueCode ;
return is;
}
==这里F是bi_bitField&类型啊,写的很清楚。
==operator 是关键字,表示重载运算符
这里就是重载了赋值和序列化的操作符。