谭浩强C++教材:清华大学全程详解

3星 · 超过75%的资源 需积分: 9 9 下载量 177 浏览量 更新于2024-07-28 收藏 5.71MB PDF 举报
《C++程序设计谭浩强100%完整·清华大学》是一本针对中国高等院校计算机基础教育课程体系规划的教材,由知名计算机教育专家谭浩强编著。本书全面覆盖了C++编程语言的基础知识和高级特性,旨在帮助读者系统地学习和掌握C++程序设计。 第1章至第1.2节介绍了C++的初步知识,包括C语言基础向C++语言的过渡,让学习者对新语言有个清晰的认识。这部分内容涵盖了C++的新特性,如类和对象概念的引入,以及如何理解和使用这些新特性。 第二章详细讲解了数据类型与表达式,这是编程的基础,包括基本的数据类型、算术表达式、关系表达式等,帮助读者理解C++中的数值和逻辑运算。 第三篇“面向过程的程序设计”主要介绍了通过函数组织代码的方式,强调过程化的编程思想,涉及程序设计的基本步骤和流程控制结构如循环和条件语句。 第四章至第五章深入探讨了函数与预处理,讲解如何编写和调用函数,以及如何利用预处理指令来优化程序。这部分内容对于提升代码的复用性和可维护性至关重要。 第六章和第七章分别讲述了数组和指针的概念,这些都是C++中非常核心的数据结构,有助于理解内存管理和效率优化。 进入第三篇“基于对象的程序设计”,第八章至第十章重点讲解类和对象,介绍了面向对象编程的核心概念,如类的定义、对象的创建和操作,以及如何通过类实现封装和继承。 第四篇“面向对象的程序设计”进一步深化了面向对象的知识,第十一章和第十二章介绍了继承与派生的概念,以及多态性的原理和应用,这些都是实现软件复用和模块化设计的关键。 最后一部分(第十三章至第十四章)关注输入输出流和C++工具,使读者了解如何在程序中进行数据输入输出,并掌握如何利用C++的各种库和工具来提高开发效率。 《C++程序设计谭浩强100%完整·清华大学》是一本系统而实用的C++教程,适合大学计算机科学专业的学生和初学者,也适合有一定C语言基础的程序员深入学习C++语言。通过本书的学习,读者将建立起坚实的C++编程基础,并逐步掌握面向对象编程的精髓。

#include<iostream> using namespace std; class Book { private: string bookname; string authtors; string publishing_house; int pages; double price; public: Book() { bookname = ""; authtors = ""; publishing_house = ""; pages = 0; price = 0; } Book(string bk, string auth, string pub, int pag,double pri) { bookname = bk; authtors = auth; publishing_house = pub; pages = pag; price = pri; } ~Book(){} string getBookname() const { return bookname; } void setBookname(char*name){ bookname=name; } string getAuthtors() const { return authtors; } void setAuthtors(char* auth) { authtors = auth; } string getPublishing_house() const { return publishing_house; } void setPublishing_house(char* pub) { publishing_house = pub; } int getPages() const { return pages; } void setPages(int pag) { pages = pag; } double getPrice() const { return price; } void setPrice(double pri) { price = pri; } }; int main() { Book book1("《C++程序设计》", "谭浩强编著", 485, "清华大学出版社", 36.00); Book book2("《吹牛大王历险记》", "拉斯伯等编著", 149, "天津人民出版社", 12.80); cout << "书名:" << book1.getBookname() << endl; cout << "作者:" << book1.getAuthtors() << endl; cout << "页数:" << book1.getPages() <<"页"<< endl; cout << "出版社:" << book1.getPublishing_house() << endl; cout << "价格:" << book1.getPrice() <<"元"<< endl; cout << endl; cout << "书名:" << book2.getBookname() << endl; cout << "作者:" << book2.getAuthtors() << endl; cout << "页数:" << book2.getPages() << "页" << endl; cout << "出版社:" << book2.getPublishing_house() << endl; cout << "价格:" << book2.getPrice() << "元" << endl; return 0; }这个代码如何修改

2023-05-19 上传

优化以下代码:#include <iostream> #include<string.h> using namespace std; class Book { private:     char bookname[30];     char authers[30];     char publishing_house[40];     int pages;     float price; public:     char getbookname();     char getauthers();     char getpublishing_house();     int getpages();     float getprice();          void setbookname(char *a);     void setauthers(char *a);     void setpublishing_house(char *a);     void setpages(int a);     void setprice(float a);     Book(char*a,char*b,cahr*c,int d,float e)     {         strcpy(bookname,a);         strcpy(authers,b);         strcpy(publishing_house,c);         pages=d;         price=e;     } }; char getbookname() {     char*a=bookname;     return a; } char getauthers() {     char*a=authers;     return a; } char getpublishing_house() {     char*a=publishing_house;     return a; } int getpages() {     int a=pages;     return a; } float getprice() {     float a=price;     return a; } void setbookname(char *a) {     strcpy(bookname,a); } void setauthers(char *a) {     strcpy(authers,a); } void setpublishing_house(char *a) {     strcpy(publishing_house,a); } void setpages(int a) {     pages=a; } void setprice(float a) {     price=a; } int main() {      Book a(char a="《C++程序设计》",char b="谭浩强编制",char c="清华大学出版社",d=484,e=36.00);      Book b(char a="《吹牛大王历险记》",char b="拉斯伯等编著",char c="天津人民出版社",d=149,e=12.80);     cout<<a.getbookname()<<"  "<<a.getauthers()<<"  "<<a.getpublishing_house()<<"  "<<"页数:"<<a.getpages()<<"价钱:"<<a.getprice()<<endl;     cout<<b.getbookname()<<"  "<<b.getauthers()<<"  "<<b.getpublishing_house()<<"  "<<"页数:"<<b.getpages()<<"价钱:"<<b.getprice()<<endl;     return 0; }

2023-05-22 上传