//定义一个货物Goods类,它派生3种不同的电器子类:冰箱、彩电、空调。
//然后各创建一个实际的对象,即顾客购买了3种电器,比如:海尔冰箱、
//长虹彩电、格力空调。使用虚函数,求这些电器价格之和。这是偶们测试的题目耶,闲来就发到这里了
#include <iostream>
using namespace std;
class Goods
{
public:
void set_price(double i)//设置价格
{
price=i;
}
virtual double get_price()//将get_price指定为虚函数
{return price;}
void show_price();//显示价格
protected:
double price;
};
void Goods::show_price()
{
cout<<price<<endl;
}
class freezer:public Goods//冰箱类,公有继承
{
public:
double get_price()
{
cout<<"冰箱的价格"<<price<<endl;
return price;
}
};
class televison:public Goods
{
double get_price()
{
cout<<"彩电的价格"<<price<<endl;
return price;
}
};
class aircondition:public Goods
{
double get_price()
{
cout<<"空调的价格"<<price<<endl;
return price;
}
};
void main()
{
double sum=0;
Goods *temp[3];
Goods *g;freezer f;televison t;aircondition a;
g=&f;temp[0]=&f;
g->set_price(2000);g->show_price();
g=&t;temp[1]=&t;
g->set_price(3000);g->show_price();
g=&a;temp[2]=&a;
g->set_price(4000);g->show_price();
g->get_price();
cout<<"使用循环的方法来实现求和"<<endl;
for(int i=0;i<=2;i++)
{ temp[i]->get_price();
sum+=temp[i]->get_price();
}
cout<<"求和的结果"<<sum<<endl;
/*for(int i=0;i<=2;i++)
sum+=temp[i]->show_price
cout<<"求和的结果"<<sum<<endl;*/
}
//然后各创建一个实际的对象,即顾客购买了3种电器,比如:海尔冰箱、
//长虹彩电、格力空调。使用虚函数,求这些电器价格之和。这是偶们测试的题目耶,闲来就发到这里了
#include <iostream>
using namespace std;
class Goods
{
public:
void set_price(double i)//设置价格
{
price=i;
}
virtual double get_price()//将get_price指定为虚函数
{return price;}
void show_price();//显示价格
protected:
double price;
};
void Goods::show_price()
{
cout<<price<<endl;
}
class freezer:public Goods//冰箱类,公有继承
{
public:
double get_price()
{
cout<<"冰箱的价格"<<price<<endl;
return price;
}
};
class televison:public Goods
{
double get_price()
{
cout<<"彩电的价格"<<price<<endl;
return price;
}
};
class aircondition:public Goods
{
double get_price()
{
cout<<"空调的价格"<<price<<endl;
return price;
}
};
void main()
{
double sum=0;
Goods *temp[3];
Goods *g;freezer f;televison t;aircondition a;
g=&f;temp[0]=&f;
g->set_price(2000);g->show_price();
g=&t;temp[1]=&t;
g->set_price(3000);g->show_price();
g=&a;temp[2]=&a;
g->set_price(4000);g->show_price();
g->get_price();
cout<<"使用循环的方法来实现求和"<<endl;
for(int i=0;i<=2;i++)
{ temp[i]->get_price();
sum+=temp[i]->get_price();
}
cout<<"求和的结果"<<sum<<endl;
/*for(int i=0;i<=2;i++)
sum+=temp[i]->show_price
cout<<"求和的结果"<<sum<<endl;*/
}