éè½½çè¿ç®ç¬¦æ¯å¸¦æç¹æ®å称çå½æ°ï¼å½æ°åæ¯ç±å
³é®å operator åå
¶åè¦éè½½çè¿ç®ç¬¦ç¬¦å·ææçãä¸å
¶ä»å½æ°ä¸æ ·ï¼éè½½è¿ç®ç¬¦æä¸ä¸ªè¿åç±»ååä¸ä¸ªåæ°å表ãä¸é¢ç代ç æ¯ä¸ä¸ªä¾åï¼
#include <iostream>
using namespace std;
class Box
{
public:
double getVolume(void)
{
return length * breadth * height;
}
void setLength( double len )
{
length = len;
}
void setBreadth( double bre )
{
breadth = bre;
}
void setHeight( double hei )
{
height = hei;
}
// éè½½ + è¿ç®ç¬¦ï¼ç¨äºæ两个 Box 对象ç¸å
Box operator+(const Box& b)
{
Box box;
box.length = this->length + b.length;
box.breadth = this->breadth + b.breadth;
box.height = this->height + b.height;
return box;
}
private:
double length; // é¿åº¦
double breadth; // 宽度
double height; // é«åº¦
};
// ç¨åºç主å½æ°
int main( )
{
Box Box1; // 声æ Box1ï¼ç±»å为 Box
Box Box2; // 声æ Box2ï¼ç±»å为 Box
Box Box3; // 声æ Box3ï¼ç±»å为 Box
double volume = 0.0; // æä½ç§¯åå¨å¨è¯¥åéä¸
// Box1 详述
Box1.setLength(6.0);
Box1.setBreadth(7.0);
Box1.setHeight(5.0);
// Box2 详述
Box2.setLength(12.0);
Box2.setBreadth(13.0);
Box2.setHeight(10.0);
// Box1 çä½ç§¯
volume = Box1.getVolume();
cout << "Volume of Box1 : " << volume <<endl;
// Box2 çä½ç§¯
volume = Box2.getVolume();
cout << "Volume of Box2 : " << volume <<endl;
// æ两个对象ç¸å ï¼å¾å° Box3
Box3 = Box1 + Box2;
// Box3 çä½ç§¯
volume = Box3.getVolume();
cout << "Volume of Box3 : " << volume <<endl;
return 0;
}