谭浩强C++程序设计完整版:清华大学出版社免费下载

3星 · 超过75%的资源 需积分: 50 5 下载量 78 浏览量 更新于2024-07-24 收藏 5.71MB PDF 举报
"C++程序设计免费下载__谭浩强100%完整·清华大学" 这篇资源是关于C++程序设计的教材,由谭浩强编著,属于中国高等院校计算机基础教育课程体系规划教材。全书分为四个部分,详细介绍了C++编程语言的基础知识、面向过程的程序设计、基于对象的程序设计以及面向对象的程序设计。 第一部分是基础知识,包括第1章“C++的初步知识”,讲述了从C语言过渡到C++的概念,让读者理解C++的背景和特点。第1章的内容可能涵盖C++的历史、特点、标准及其与C语言的区别,以及如何设置开发环境等基础知识。 第二部分是面向过程的程序设计,从第2章“数据类型与表达式”开始,逐步引导读者学习C++的基础语法,如数据类型(整型、浮点型、字符型等)、常量、变量、运算符和表达式。第3章“程序设计初步”可能讲解流程控制语句(如if条件语句、switch选择语句、for、while循环语句)以及函数的使用。第4章“函数与预处理”涉及函数的定义、调用、参数传递,以及宏定义和头文件的包含等预处理概念。第5章“数组”介绍了一维和多维数组的声明、初始化和操作。第6章“指针”是C++中的核心概念,会深入讲解指针的定义、操作以及指针与数组、函数的关系。 第三部分是基于对象的程序设计,从第7章“自定义数据类型”开始,引导读者进入面向对象的世界,学习如何定义结构体和联合体,以及枚举类型。第8章“类和对象”介绍了类的概念,对象的创建与销毁,成员变量和成员函数,以及封装的基本思想。第9章“关于类和对象的进一步讨论”可能涉及构造函数、析构函数、友元等高级话题。第10章“运算符重载”讲解了如何为自定义类型重载C++的运算符。 第四部分是面向对象的程序设计,涵盖了第11章“继承与派生”,介绍类的继承关系,单一继承与多重继承,以及访问修饰符的作用。第12章“多态性与虚函数”讲解了虚函数、抽象类和接口,以及多态性的实现。第13章“输入输出流”涉及I/O流库的使用,包括cin、cout以及其他流对象的操作。第14章“C++工具”可能包含异常处理、模板、STL(标准模板库)等C++高级特性。 这本教材适合初学者和希望深入理解C++的程序员,全面覆盖了从基础到高级的C++编程知识,通过学习可以掌握C++编程的基本技能和面向对象的设计思想。
2018-05-16 上传
《C 程序设计语言》(原书第4版)是C 领域最经典的参考书,介绍了C 11的各项新特性和新功能。全书共分四部分。第一部分(第1~5章)是引言,包括C 的背景知识,C 语言及其标准库的简要介绍;第二部分(第6~15章)介绍C 的内置类型和基本特性,以及如何用它们构造程序;第三部分(第16~29章)介绍C 的抽象机制及如何用这些机制编写面向对象程序和泛型程序;第四部分(第30~44章)概述标准库并讨论一些兼容性问题。由于篇幅问题,原书中文版分两册出版,分别对应原书的第一至三部分和第四部分。这一册为第一至三部分。 目录 第3版前言 第2版前言 第1版前言 第一部分 引言 第1章 致读者 2 第2章 C++概览:基础知识 32 第3章 C++概览:抽象机制 51 第4章 C++概览:容器与算法 74 第5章 C++概览:并发与实用功能 96 第二部分 基本功能 第6章 类型与声明 116 第7章 指针、数组与引用 148 第8章 结构、联合与枚举 173 第9章 语句 194 第10章 表达式 208 第11章 选择适当的操作 236 第12章 函数 264 第13章 异常处理 297 第14章 名字空间 337 第15章 源文件与程序 362 第三部分 抽象机制 第16章 类 386 第17章 构造、清理、拷贝和移动 413 第18章 运算符重载 452 第19章 特殊运算符 471 第20章 派生类 495 第21章 类层次 524 第22章 运行时类型信息 547 第23章 模板 566 第24章 泛型程序设计 595 第25章 特例化 613 第26章 实例化 629 第27章 模板和类层次 645 第28章 元编程 661 第29章 一个矩阵设计 701

#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 上传