📄 10_2.cpp
字号:
#include<iostream.h>
#include<iomanip.h>
class Zero
{
public:
void print(void);
};
void Zero::print(void)
{
cout<<"分数对象的分母不能为零!"<<endl;
}
class fraction
{
public:
fraction(int x=1,int y=1);
~fraction();
friend ostream& operator <<(ostream& out,const fraction& s);
fraction& operator +(fraction& c);
private:
int a;
int b;
};
fraction::fraction(int x,int y)
{
if(y==0)
{
cout<<"分母是零,抛出异常"<<endl;
throw Zero();
}
a=x;
b=y;
}
fraction::~fraction()
{
cout<<"分数对象消失"<<endl;
}
fraction& fraction::operator +(fraction& c)
{
fraction temp;
temp.b=b*c.b;
temp.a=a*c.b+b*c.a;
return (temp);
}
ostream& operator <<(ostream& out,const fraction& s)
{
out<<s.a<<"/"<<s.b;
return(out);
}
int main()
{
try
{
fraction x(3,4),y(1,2),z;
z=x+y;
cout<<z<<endl;
}
catch(Zero z)
{
z.print();
}
cout<<"程序结束"<<endl;
return(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -