谭浩强C++程序设计全书:面向对象编程深度解析

需积分: 0 1 下载量 198 浏览量 更新于2024-07-24 收藏 5.71MB PDF 举报
"C++程序设计谭浩强100%完整·清华大学" 是一本针对C++初学者的教材,由知名计算机教育专家谭浩强编著。这本书是中国高等院校计算机基础教育课程体系规划教材之一,旨在帮助学生掌握C++编程基础知识。 在C++的学习中,【第1章 C++的初步知识】是入门的关键。这一章涵盖了从C语言过渡到C++的基本概念,包括C++的特点、历史以及它与C语言的区别。通过这一章的学习,读者能够了解到C++的面向对象特性,为后续深入学习打下基础。 【第2章 数据类型与表达式】深入介绍了C++中的各种数据类型,如整型、浮点型、字符型等,以及如何进行算术运算、关系运算和逻辑运算等表达式。这是编写任何程序的基础,理解不同数据类型及其运算规则对于编写正确且高效的代码至关重要。 【第2篇 面向过程的程序设计】涵盖了从基础的程序设计概念到更复杂的结构。【第3章 程序设计初步】讲解了程序的基本结构,包括变量声明、控制流程(如条件语句和循环语句)以及函数的使用。【第4章 函数与预处理】深入讨论了函数的定义、调用和参数传递,以及预处理器的概念和宏定义。【第5章 数组】和【第6章 指针】则分别探讨了数组这一数据结构和指针这一强大的工具,它们是C++中不可或缺的部分。【第7章 自定义数据类型】介绍了结构体和共用体,允许用户自定义复杂的数据结构。 【第3篇 基于对象的程序设计】进入C++的核心部分——面向对象编程。【第8章 类和对象】介绍了类作为数据和操作的封装,以及对象作为类的实例。【第9章 关于类和对象的进一步讨论】深入到构造函数、析构函数、拷贝构造函数等面向对象编程的重要概念。【第10章 运算符重载】讲解了如何根据需要为已有的运算符赋予新的含义。这些章节是理解C++面向对象编程的关键。 【第4篇 面向对象的程序设计】进一步深化面向对象的主题。【第11章 继承与派生】阐述了类之间的层次结构,以及如何通过继承来实现代码复用。【第12章 多态性与虚函数】介绍了多态性这一核心特性,包括虚函数和纯虚函数的使用。【第13章 输入输出流】讲解了C++标准输入输出库,使得数据的输入输出更加方便。最后,【第14章 C++工具】可能涵盖了编译器、调试器等开发工具的使用,以及C++标准库的一些基本组件。 这本书全面地介绍了C++语言,从基础的语法到面向对象编程的概念,旨在培养读者的编程思维和实践能力。对于初学者,跟随谭浩强的引导,可以逐步掌握C++编程技能,并为未来更高级的软件开发奠定坚实基础。
2014-11-16 上传
C++ 是由 AT&C++是近年来国内外广泛使用的现代计算机语言,它既支持面向过程的程序设计,也支持基于对象和面向对象的程序设计。国内许多高校已陆续开设了C++程序设计课程。但是,由于C++涉及概念很多,语法比较复杂,内容十分广泛,使不少人感到学习难度较大,难以入门。 考虑到许多读者在学习C++前未学过其他语言,本书把入门起点降低,读者不需要具备C语言的基础。本书包括14章,分为4篇:基本知识;面向过程的程序设计;基于对象的程序设计;面向对象的程序设计。本书内容全面,例题丰富,概念清晰,循序渐进,易于学习。 《C++程序设计》是依据ANSI C++标准进行介绍的,引导读者从一开始就按标准C++的规定编程。《C++程序设计》是大学各专业学生学习C++的基础教材,也是适于初学者学习的教材。即使没有教师讲授,读者也能看懂本书的大部分内容。 《C++程序设计》是谭浩强教授的又一力作,依据C++标准进行介绍,引导学生学习标准C++,而不仅学习依赖于某一特定环境下的“方言化”的C++ ,教与学的新突破,学习“C++ 程序设计”从此变得容易。 C++ 对 C 的“增强” ,表现在两个方面: (1) 在原来面向过程的机制基础上,对 C 语言的功能做了不少扩充。 (2) 增加了面向对象的机制。 面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。 不要把面向对象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途、互为补充的。 学习 C++ , 既要会利用 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 上传