/*---------------------------------------------------*/
/*Implement of pixel class */
/*File name: pixel.cpp */
#include "pixel.h"
//三个构造函数的实现
pixel::pixel():red(0),green(0),blue(0)
{
}
pixel::pixel(int n){
red = n;
green = n;
blue = n;
}
pixel::pixel(int r, int g, int b){
red = r;
green = g;
blue = b;
}
/*------------------------------------------*/
//+ operator 因为调用对象为运算的第一个运算数,
//形参为第二个运算数,因为要值传递,所以加上const保证不改变对象的数据成员
pixel pixel::operator +(pixel p) const{
pixel temp;
temp.red = red + p.red;
temp.green = green + p.green;
temp.blue = blue + p.blue;
return temp;
}
//友元函数可以访问类的私有成员, 只需在类的声明中说明为friend.
//因为友元函数并不是成员函数,没有任何调用对象,因此需要两个参数
pixel operator+(pixel p1,pixel p2){
pixel temp;
temp.red = p1.red + p2.red;
temp.green = p1.green + p2.green;
temp.blue = p1.blue + p2.blue;
return temp;
}
//* operator 同乘以一个double型的值
pixel pixel::operator *(double v) const{
pixel temp;
temp.red = red*v;
temp.green = green*v;
temp.blue = blue*v;
return temp;
}
// / operator 同除以一个整数
pixel pixel::operator /(int v) const{
pixel temp;
temp.red = red/v;
temp.green = green/v;
temp.blue = blue/v;
return v;
}
/*Implement of pixel class */
/*File name: pixel.cpp */
#include "pixel.h"
//三个构造函数的实现
pixel::pixel():red(0),green(0),blue(0)
{
}
pixel::pixel(int n){
red = n;
green = n;
blue = n;
}
pixel::pixel(int r, int g, int b){
red = r;
green = g;
blue = b;
}
/*------------------------------------------*/
//+ operator 因为调用对象为运算的第一个运算数,
//形参为第二个运算数,因为要值传递,所以加上const保证不改变对象的数据成员
pixel pixel::operator +(pixel p) const{
pixel temp;
temp.red = red + p.red;
temp.green = green + p.green;
temp.blue = blue + p.blue;
return temp;
}
//友元函数可以访问类的私有成员, 只需在类的声明中说明为friend.
//因为友元函数并不是成员函数,没有任何调用对象,因此需要两个参数
pixel operator+(pixel p1,pixel p2){
pixel temp;
temp.red = p1.red + p2.red;
temp.green = p1.green + p2.green;
temp.blue = p1.blue + p2.blue;
return temp;
}
//* operator 同乘以一个double型的值
pixel pixel::operator *(double v) const{
pixel temp;
temp.red = red*v;
temp.green = green*v;
temp.blue = blue*v;
return temp;
}
// / operator 同除以一个整数
pixel pixel::operator /(int v) const{
pixel temp;
temp.red = red/v;
temp.green = green/v;
temp.blue = blue/v;
return v;
}