C++爱好者 - 网友留言

1438阅读 0评论2008-12-17 3JTwF2T
分类:

应用派生类和虚函数设计一个面向对象程序:
1、定义一个抽象基类Fruit,它有二个数据成员name、price,代表水果的名称和价格,定义一个打印水果名称和价格的纯虚函数Show()。
2、从Fruit类公有派生一个苹果类Apple,定义一个代表品种的数据成员type,定义并实现一个有三个参数的构造函数Apple(char *n,double p,int t),实现其打印苹果名称和价格的纯虚函数Show()。
3、从Fruit类公有派生一个葡萄类Grape,定义一个代表色的数据成员,定义并实现一个有三个参数的构造函数Grape(char *n,double p,int c),实现其打印葡萄名称和价格的纯虚函数Show()。
4、在函数之前定义并实现一个全局函数Disp,它有一个Fruit的引用作为参数。在main函数中,定义一个Apple的对象和一个Grape对象,调用Disp函数实现虚函数的多态性,打印出相应水果的名称和价格。


--------------------next---------------------
#include
using namespace std;

class Three3d
{
      public:
             float x;
             float y;
             float z;
             Three3d(float a,float b,float c);
             friend Three3d operator+(Three3d left, Three3d right);
             friend Three3d operator-(Three3d left,Three3d right);
             void show();
};
             
             Three3d operator+(Three3d left,Three3d right)
             {
                     
                   return  Three3d(left.x+right.x,left.y+right.y,left.z+right.z);
             }
             
             Three3d operator-(Three3d left,Three3d right)
             {
                     return Three3d(left.x-right.x,left.y-right.y,left.z-right.z);
             }
inline Three3d::Three3d(float a,float b,float c)
{
            x=a;
            y=b;
            z=c;
}

void Three3d::show()
{
     cout<<"the new Three3d.x="<     cout<<"the new Three3d.y="<     cout<<"the new Three3d.z="<}

int main()
{
    Three3d t1(50,20,10);
    Three3d t2(10,10,5);
    Three3d t3=t1+t2;
    Three3d t4=t1-t2;
    t3.show();
    t4.show();
    system("pause");
}


--------------------next---------------------

上一篇:C++爱好者 - 网友留言
下一篇:C++爱好者 - 网友留言