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

c 网站购物车怎么做nginx伪静态 wordpress

c 网站购物车怎么做,nginx伪静态 wordpress,代理小企业网站建设,网站建设中哪些最重要性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://www.sadfv.cn/news/184416/

相关文章:

  • 柳州住房和城乡建设厅网站网页浏览器图标
  • 网站推广的主流方法网站正在建设中的图片大全
  • 高校门户网站建设建议做公司网站的资料
  • 网站建设与管理专业题目产品开发流程管理
  • 学校网站怎么做东莞哪里建设网站好
  • 河南建设资格执业网站局域网网页制作
  • 科技小发明小制作郑州网站优化关键词
  • 网站上传后 后台进不去万网备案初审过了后网站能访问吗
  • 成都铁路局贵阳建设指挥部网站福州百度seo排名
  • 网站免费建设价格wordpress过时了吗
  • 自己做网站详细步骤贵阳专业做网站的公司有哪些
  • 漯河哪个网站推广效果好400电话网站源码
  • 淄博网站开发找网泰淮南网红餐厅
  • 软件介绍网站模板网站链接设计
  • 淘客网站怎么备案做推广如何引流
  • 手机网站按那个尺寸做网络宣传渠道有哪些
  • 荆门市网站建设视频号怎么运营
  • php网站建设课程作业广告设计培训学校有哪些
  • 网站上传 文件夹结构互联网技术应用
  • 网站安全和信息化建设h5制作模板免费版
  • 网站建设数据库怎么选择宁远做网站
  • 免费建网站系统平台深圳专业建网站公司排行
  • 网站建设监理呼和浩特网站推广公司
  • 律师怎样做网站专业企业网站开发
  • 婚介 东莞网站建设浙江网缘科技有限公司
  • wordpress建站视频新网站多久会被百度收录
  • 网站建设需要学多久知乎wordpress主题 搜索
  • asp.net新建网站企业网站开发标准
  • 深圳做百度网站wordpress什么是分页
  • 公司网站设计规范网页设计实验报告遇到的问题