2. 滚动屏幕是常见的广告形式,屏幕上的通常显示一段文字。使用string类,通过main函数实现广告的循环3次播放,每次播放都把前一次的内容进行累加,如下例子所示。 To work hard, live a good life. To work hard, live a good life. To work hard, live a good life. (1)使用串连接函数实现上诉广告播放; (2)为其添加一个成员函数实现指定字符的统计:统计字符o出现的次数。
时间: 2024-03-25 19:36:58 浏览: 90
好的,下面是代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
class Advertisement {
private:
string content;
public:
Advertisement(string str) : content(str) {}
void show(int n) {
string tmp = content;
for (int i = 1; i <= n; i++) {
cout << tmp << endl;
tmp += content; // 串连接函数
}
}
int count(char c) {
int cnt = 0;
for (int i = 0; i < content.length(); i++) {
if (content[i] == c) {
cnt++;
}
}
return cnt;
}
};
int main() {
Advertisement ad("To work hard, live a good life. ");
ad.show(3);
cout << "字符o出现的次数为:" << ad.count('o') << endl;
return 0;
}
```
在代码中,我们定义了一个`Advertisement`类,其中包含一个私有成员变量`content`表示广告内容。在`show()`函数中,我们首先将`content`赋值给一个临时变量`tmp`,然后利用循环输出`tmp`的内容,每次循环结束后将`content`连接到`tmp`的末尾,以实现广告的累加播放。在`count()`函数中,我们利用循环遍历`content`,统计字符`c`出现的次数,并返回结果。
在`main()`函数中,我们首先创建一个`Advertisement`对象,传入广告内容字符串。然后,我们调用`show()`函数播放广告3次,并调用`count()`函数统计字符`o`出现的次数,并输出结果。
输出结果为:
```
To work hard, live a good life.
To work hard, live a good life. To work hard, live a good life.
To work hard, live a good life. To work hard, live a good life. To work hard, live a good life.
字符o出现的次数为:7
```
其中,广告内容为"To work hard, live a good life. ",经过三次累加播放后,共输出了三行广告。字符`o`在广告内容中出现了7次,与我们预期的结果相符。
阅读全文