实现一个用户账户类,类中包括保存用户的账号名和密码,包含设置账号和密码、获取账号和密码的成员函数,编写主函数测试类的使用。
时间: 2024-12-24 14:29:59 浏览: 6
实现一个简单的用户账户类(UserAccount),我们可以创建一个类,包含两个私有变量:用户名(username)和密码(password)。类中提供设置和获取这些信息的方法,以及一个主函数来测试类的使用。
```cpp
#include <string>
class UserAccount {
private:
std::string username;
std::string password;
public:
// 构造函数,初始化用户名和密码为空
UserAccount(const std::string& initialUsername = "", const std::string& initialPassword = "")
: username(initialUsername), password(initialPassword) {}
// 设置账号和密码
void setCredentials(const std::string& newUsername, const std::string& newPassword) {
username = newUsername;
password = newPassword;
}
// 获取账号
const std::string getUsername() const {
return username;
}
// 获取密码(保护,通常不直接返回)
std::string getPassword() const {
return password; // 在实际应用中,可能会加密存储密码
}
// 可选的安全函数,仅显示密码的部分字符(例如前几个和最后一个字符)
std::string viewPassword() const {
std::string safePass = password;
safePass.replace(0, 3, "*");
safePass += "...";
safePass.replace(safePass.length() - 3, 3, "*");
return safePass;
}
};
// 主函数测试类的使用
int main() {
UserAccount userAccount("JohnDoe", "mypassword123");
// 设置新的账号和密码
userAccount.setCredentials("JaneSmith", "NewPass456");
// 显示账号和查看部分密码
std::cout << "Username: " << userAccount.getUsername() << ", Password: " << userAccount.viewPassword() << std::endl;
return 0;
}
```
在这个例子中,我们避免直接暴露密码,而是提供了一个`viewPassword`方法来安全地展示一部分真实密码。在实际应用中,密码应该存储为哈希值或其他形式的加密。主函数展示了如何创建新账户、更改密码以及查看部分密码的过程。
阅读全文