根据35mm接口及25mm接口; USB Type-C接口;lighting接口分别用类模式和对象模式实现耳机接口的转换写出代码
- 类模式实现
// 3.5mm接口转2.5mm接口的转换类
class AudioAdapter35To25 {
public:
void connect35mm() {
cout << "3.5mm接口已连接" << endl;
}
void convert() {
cout << "已转换为2.5mm接口" << endl;
}
void connect25mm() {
cout << "2.5mm接口已连接" << endl;
}
};
// USB Type-C接口转3.5mm接口的转换类
class AudioAdapterUsbTo35 {
public:
void connectUsb() {
cout << "USB Type-C接口已连接" << endl;
}
void convert() {
cout << "已转换为3.5mm接口" << endl;
}
void connect35mm() {
cout << "3.5mm接口已连接" << endl;
}
};
// lighting接口转3.5mm接口的转换类
class AudioAdapterLightingTo35 {
public:
void connectLighting() {
cout << "lighting接口已连接" << endl;
}
void convert() {
cout << "已转换为3.5mm接口" << endl;
}
void connect35mm() {
cout << "3.5mm接口已连接" << endl;
}
};
- 对象模式实现
// 转换接口的基类
class AudioAdapter {
public:
virtual void connect() = 0;
virtual void convert() = 0;
};
// 3.5mm接口转2.5mm接口的转换类
class AudioAdapter35To25 : public AudioAdapter {
public:
void connect() {
cout << "3.5mm接口已连接" << endl;
}
void convert() {
cout << "已转换为2.5mm接口" << endl;
}
};
// USB Type-C接口转3.5mm接口的转换类
class AudioAdapterUsbTo35 : public AudioAdapter {
public:
void connect() {
cout << "USB Type-C接口已连接" << endl;
}
void convert() {
cout << "已转换为3.5mm接口" << endl;
}
};
// lighting接口转3.5mm接口的转换类
class AudioAdapterLightingTo35 : public AudioAdapter {
public:
void connect() {
cout << "lighting接口已连接" << endl;
}
void convert() {
cout << "已转换为3.5mm接口" << endl;
}
};
// 耳机类
class Headphone {
private:
AudioAdapter* adapter;
public:
Headphone(AudioAdapter* adapter) {
this->adapter = adapter;
}
void connect() {
adapter->connect();
}
void convert() {
adapter->convert();
}
};
``
原文地址: https://www.cveoy.top/t/topic/hjkT 著作权归作者所有。请勿转载和采集!