当前位置: 首页 > news >正文

找个网站怎么这么难建设通app官方下载

找个网站怎么这么难,建设通app官方下载,汕头seo计费管理,有什么好的建站公司2023年8月26日#xff0c;周六上午 目录 概述一个简单的例子用单一职责原则来设计一个简单的学生管理系统 概述 单一职责原则#xff08;Single Responsibility Principle#xff0c;SRP#xff09;#xff0c;它是面向对象设计中的一个基本原则。 单一职责原则的核心思…2023年8月26日周六上午 目录 概述一个简单的例子用单一职责原则来设计一个简单的学生管理系统 概述 单一职责原则Single Responsibility PrincipleSRP它是面向对象设计中的一个基本原则。 单一职责原则的核心思想是一个类应该只有一个引起它变化的原因。 换句话说一个类应该只负责一项功能或职责。 这样做的好处是当需求发生变化时只有与该功能相关的类需要进行修改而不会影响其他不相关的功能。 一个简单的例子 class FileManager { public:void readFile(std::string filename) {// 读取文件的代码逻辑}void writeFile(std::string filename) {// 写入文件的代码逻辑}void deleteFile(std::string filename) {// 删除文件的代码逻辑}void encryptFile(std::string filename) {// 加密文件的代码逻辑}void compressFile(std::string filename) {// 压缩文件的代码逻辑} };在这个示例中FileManager类负责文件的读取、写入、删除、加密和压缩等操作。 这个类违反了单一职责原则因为它承担了多个不同的功能即文件操作和文件处理。 为了遵循单一职责原则我们可以将文件操作和文件处理分离为两个独立的类 class FileManager { public:void readFile(std::string filename) {// 读取文件的代码逻辑}void writeFile(std::string filename) {// 写入文件的代码逻辑}void deleteFile(std::string filename) {// 删除文件的代码逻辑} };class FileProcessor { public:void encryptFile(std::string filename) {// 加密文件的代码逻辑}void compressFile(std::string filename) {// 压缩文件的代码逻辑} };现在FileManager类负责文件的基本操作而FileProcessor类负责对文件进行加密和压缩等处理操作。这样每个类都只有一个单一的职责使得代码更加清晰、可维护和可扩展。 总结来说单一职责原则要求将不同的职责分离到不同的类中以确保每个类只负责一项功能。这样可以提高代码的可读性、可维护性和可扩展性减少代码之间的耦合。 用单一职责原则来设计一个简单的学生管理系统 使用单一职责原则来设计一个简单的学生管理系统可以将功能分解为以下几个类 Student类表示学生对象包含学生的基本信息如姓名、学号、年龄以及相关操作如获取学生信息、修改学生信息。StudentDatabase类负责学生信息的存储和管理包含增加学生、删除学生、查找学生等操作。StudentUI类负责与用户交互显示菜单选项接收用户输入并调用StudentDatabase类中的方法来执行相应的操作。 #include iostream #include vector #include stringclass Student { private:std::string name;int studentId;int age;public:Student(std::string name, int studentId, int age): name(name), studentId(studentId), age(age) {}std::string getName() const {return name;}int getStudentId() const {return studentId;}int getAge() const {return age;}void updateName(std::string newName) {name newName;}void updateAge(int newAge) {age newAge;} };class StudentDatabase { private:std::vectorStudent students;public:void addStudent(const Student student) {students.push_back(student);}void removeStudent(int studentId) {for (auto it students.begin(); it ! students.end(); it) {if (it-getStudentId() studentId) {students.erase(it);break;}}}Student findStudent(int studentId) const {for (const auto student : students) {if (student.getStudentId() studentId) {return student;}}// 如果找不到对应的学生则返回一个空的Student对象return Student(, -1, -1);}std::vectorStudent getAllStudents() const {return students;} };class StudentUI { private:StudentDatabase studentDB;public:void displayMenu() {std::cout 学生管理系统 std::endl;std::cout 1. 添加学生 std::endl;std::cout 2. 删除学生 std::endl;std::cout 3. 查找学生 std::endl;std::cout 4. 显示所有学生 std::endl;std::cout 0. 退出 std::endl;}void addStudent() {std::string name;int studentId, age;std::cout 请输入学生姓名: ;std::cin name;std::cout 请输入学生学号: ;std::cin studentId;std::cout 请输入学生年龄: ;std::cin age;Student student(name, studentId, age);studentDB.addStudent(student);std::cout 成功添加学生! std::endl;}void removeStudent() {int studentId;std::cout 请输入要删除的学生学号: ;std::cin studentId;studentDB.removeStudent(studentId);std::cout 成功删除学生! std::endl;}void findStudent() {int studentId;std::cout 请输入要查找的学生学号: ;std::cin studentId;Student student studentDB.findStudent(studentId);if (student.getStudentId() ! -1) {std::cout 找到学生: student.getName() std::endl;std::cout 学号: student.getStudentId() std::endl;std::cout 年龄: student.getAge() std::endl;} else {std::cout 未找到该学生! std::endl;}}void displayAllStudents() {std::vectorStudent students studentDB.getAllStudents();if (students.empty()) {std::cout 暂无学生信息! std::endl;} else {std::cout 所有学生信息: std::endl;for (const auto student : students) {std::cout 姓名: student.getName() , ;std::cout 学号: student.getStudentId() , ;std::cout 年龄: student.getAge() std::endl;}}}void run() {int choice;do {displayMenu();std::cout 请输入选项: ;std::cin choice;switch (choice) {case 1:addStudent();break;case 2:removeStudent();break;case 3:findStudent();break;case 4:displayAllStudents();break;case 0:std::cout 退出程序! std::endl;break;default:std::cout 无效的选项请重新输入! std::endl;}} while (choice ! 0);} };int main() {StudentUI studentUI;studentUI.run();return 0; }
http://wiki.neutronadmin.com/news/152509/

相关文章:

  • 烟台有没有做网站银川建网站
  • 云南网站设计联系方式网站后台管理入口
  • 正规的网站建设公WordPress为什么进不去
  • 公司微信网站建设方案模板下载wordpress链接设置方法
  • 司法网站建设运营情况自己制作logo免费 生成器
  • 模板网站免费微信小程序万能开挂器
  • 企业网站导航栏高度dz做电影网站
  • wordpress多站点可视化资阳网站开发
  • 网站用什么系统好石家庄网络营销
  • 上海建筑设计公司网站手机上怎样制作网站
  • 广东深圳网站建设服务网站开发需解决的难题
  • 400电话西安网站制作 彩铃制作广州做网站信息
  • 济南手机网站开发廖珍琴建盏简介
  • 网站推广智选刺盾云下拉广安网站建设公司
  • 自己做视频的网站wordpress墨客吧
  • 终身免费vps重庆网站建设seo公司哪家好
  • 网站宽度一般是多少肇庆建设工程备案的网站
  • 网站 字号 英文广东网络推广服务
  • 门户网站创建西安官网seo
  • sql数据库做的网站怎么发布个人网站设计模板下载
  • 诸城做网站找个人手机端购物网站模板下载
  • 桐梓网站开发营销策划公司品牌
  • 网站模板怎么修改教程官网订机票
  • 成都营销型网站建设重庆装修公司避坑指南
  • 门户网站域名是什么廊坊住房和城乡建设厅网站
  • 郑州做网站推广资讯门户网站和部门网站的区别
  • 然后搭建网站汽车宣传网站模板
  • 网站多页面布局网站优化课程
  • 网站开发语言排行榜克隆网站怎么做
  • 海珠建网站的公司全屋整装定制