为了不剧透也是不写注释了
#include <iostream>
#include <string>
#include <vector>
#include <ctime>
#include <cstdlib>
using namespace std;
class User {
public:
string name;
bool followed;
bool liked;
User(string n) : name(n), followed(false), liked(false) {}
};
class Blog {
public:
string title;
vector<User> followers;
Blog(string t) : title(t) {}
void follow(User user) {
followers.push_back(user);
user.followed = true;
cout << user.name << " 关注了 " << title << endl;
}
void like() {
if (followers.empty()) {
cout << "没有关注者,无法点赞" << endl;
return;
}
for (User &user : followers) {
if (!user.liked) {
user.liked = true;
cout << user.name << " 给 " << title << " 点赞了" << endl;
}
}
}
};
int main() {
srand(time(0));
string blogTitle = "我的博客";
Blog myBlog(blogTitle);
vector<User> users;
for (int i = 0; i < 10; ++i) {
string userName = "用户" + to_string(i + 1);
User user(userName);
users.push_back(user);
}
for (User &user : users) {
int randomFollow = rand() % 2;
if (randomFollow) {
myBlog.follow(user);
}
}
for (int i = 0; i < 5; ++i) {
myBlog.like();
sleep(1);
}
return 0;
}