c++中1.创建User用户管理,用户包括一下属性 uid,uname 完成以下功能: 1.展示用户功能 10分 2.用户添加 10分 3.用户删除 10分 2.创建商品goods管理,商品属于用户所
时间: 2024-09-12 12:05:38 浏览: 33
jquery.cookie.js实现用户登录保存密码功能的方法
在C++中,为了实现用户管理和商品管理,你可以设计两个类:`User` 和 `Goods`,以及相应的管理类来完成添加、删除和展示等功能。下面是一个简单的类设计和实现示例:
```cpp
// User.h
class User {
public:
int uid;
std::string uname;
// 构造函数和默认构造函数
User(int id = 0, const std::string& name = "") : uid(id), uname(name) {}
// 展示用户信息
void display() const {
std::cout << "用户ID: " << uid << ", 用户名: " << uname << std::endl;
}
private:
// 禁止复制构造和赋值操作,防止滥用
User(const User&) = delete;
User& operator=(const User&) = delete;
};
// Goods.h
class Goods {
public:
int gid; // 商品ID
std::string name; // 商品名称
User* owner; // 指向用户的指针
// 构造函数和默认构造函数
Goods(int id = 0, const std::string& name = "", User* u = nullptr) : gid(id), name(name), owner(u) {}
// 展示商品信息
void display() const {
if (owner) {
std::cout << "商品ID: " << gid << ", 名称: " << name << ", 所属用户: " << owner->uname << std::endl;
} else {
std::cout << "商品ID: " << gid << ", 名称: " << name << " (未分配给用户)" << std::endl;
}
}
private:
// 类似于User,禁止复制构造和赋值操作
Goods(const Goods&) = delete;
Goods& operator=(const Goods&) = delete;
};
// UserManager.cpp
class UserManager {
public:
void addUser(const User& user) {
// 添加用户代码...
}
void deleteUser(int uid) {
// 删除用户代码,这里假设有个用户列表存储uid
// 如果找到对应用户则删除
// ...
}
void displayUsers() {
// 显示所有用户代码,遍历用户列表并调用display()
for (const auto& user : users) {
user.display();
}
}
private:
std::vector<User> users; // 存储用户集合
};
// GoodsManager.cpp
class GoodsManager {
public:
void addGoods(Goods goods, int uid) {
// 添加商品到用户代码,需要查找用户并关联商品
User* foundUser = findUserById(uid);
if (foundUser) {
goods.owner = foundUser;
// 其他添加到用户商品的操作...
}
}
void removeGoods(int gid) {
// 删除商品代码,根据gid找到并删除关联的商品
// ...
}
void displayGoodsOfUser(int uid) {
User* user = findUserById(uid);
if (user) {
for (const auto& good : user->ownedGoods) { // 假设每个用户有ownGoods成员存储其拥有的商品
good.display();
}
} else {
std::cout << "找不到用户ID: " << uid << " 的商品" << std::endl;
}
}
private:
User* findUserById(int uid) {
// 根据uid查找用户,这里是理想情况下的搜索,实际应用需遍历users
for (auto& user : UserManager::get().users) {
if (user.uid == uid)
return &user;
}
return nullptr;
}
};
// 使用示例
int main() {
UserManager umgr;
GoodsManager gmgr;
// 添加用户和商品示例
User user1(1, "Alice");
umgr.addUser(user1);
Goods goods1(1, "手机", &user1);
gmgr.addGoods(goods1, 1);
// 展示和删除
umgr.displayUsers();
gmgr.displayGoodsOfUser(1);
// 删除用户及其关联商品
umgr.deleteUser(1); // 假设找到了用户
gmgr.removeGoods(1); // 假设找到了商品
return 0;
}
阅读全文