[实验任务一]:两个维度的桥接模式
用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。
实验要求:
1. 画出对应的类图;

2. 提交源代码;
#include <iostream>
using namespace std;
class Transportation
{
public:
virtual void drive(){}
};
class Car:public Transportation
{
public:
void drive()
{
cout<<"小轿车";
}
};
class Bus:public Transportation
{
public:
void drive()
{
cout<<"大巴";
}
};
class Road
{
public:
Transportation* transportation;
Road(Transportation* transportation)
{
this->transportation=transportation;
}
virtual void driveOnRoad(){}
};
class CementRoad:public Road
{
public:
CementRoad(Transportation* transportation):Road(transportation)
{
}
void driveOnRoad()
{
transportation->drive();
cout<<"行驶在水泥路"<<endl;
}
};
class BituminousRoad:public Road
{
public:
BituminousRoad(Transportation* transportation):Road(transportation)
{
}
void driveOnRoad()
{
transportation->drive();
cout<<"行驶在柏油路"<<endl;
}
};
int main()
{
Transportation* transportation;
Car car=Car();
transportation=&car;
CementRoad(transportation).driveOnRoad();
}
3.注意编程规范。
posted @
2024-02-16 19:19
秃头的小白
阅读(
10)
评论()
编辑
收藏
举报