c++ 多态与继承

[复制链接]
查看11 | 回复1 | 2010-6-6 13:44:00 | 显示全部楼层 |阅读模式
其实,我也不知道该怎么问,这貌似更像设计模式的问题。
就是,我需要有一个父类——里面只有一个计算价格的虚函数getprice。有一个子类——随便什么都可以,用来重写父类计算具体类型电影票的价格getprice。 有一个电影票类。
电影票类有个构建函数,只需输入movie(类型),那么在电影类对象就可以直接调用XX.getprice()来获得该电影票的价格。
这个好处是,以后多了新的电影票类别,如残疾人票等,那么我只需要再写一个残疾人票的子类,就可以直接用电影类的对象().getprice来获取新票的价格,而不用修改以前的任何程序代码~~~
有没有朋友可以帮忙给段简单的代码,帮我屡屡~~~~拜谢~!
你这个我明白,但可能你没有明白我的意思,或者,我没能理解你~~~~~
我刚刚想到了一个办法~~~你看看行不行,已经可以运行成功~~~用了输的例子,没用电影的~~~呵呵~~无所谓啦~~我也不知道怎么写着写着就变成书了~~~
你帮我点拨点拨,分就给你吧~~其实我没多少分的~~~还有好多问题要问呢~~~~
#include
class Cbase{
public:
virtual void f(){
printf("我只提供接口,具体事情我不管的啊~~~~");
}
};
class Ccomputer:public Cbase{
public:
void f(){
printf("电脑书贵d:100呐~~");
}
};
class Cbook{
public:
Cbase * b;
Cbook(Cbase * d){
b= d;
}
f(){
b->f();
}
};
void main(){

Ccomputer dd;

Cbook aa(&dd);

aa.f();
getchar();//防止cmd一闪而过~~
getchar();
}

回复

使用道具 举报

千问 | 2010-6-6 13:44:00 | 显示全部楼层
class Ticket{private:double _price;public:virtual double GetPrice() = 0;};class NormalTicket : public Ticket{public:NormalTicket(CString Movie){...};virtual double GetPrice(){...};};main函数中Ticket* ticket = new NormalTicket(movie);...double price = ticket->GetPrice();==================多了残
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行