Ebook C++ For C Programmers, Third Edition (3rd Edition), by Ira Pohl
Book enthusiasts, when you need a brand-new book to read, discover guide C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl below. Never ever stress not to locate exactly what you require. Is the C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl your needed book currently? That's true; you are actually a great visitor. This is an ideal book C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl that comes from great writer to show you. Guide C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl supplies the most effective encounter as well as lesson to take, not only take, however likewise learn.
C++ For C Programmers, Third Edition (3rd Edition), by Ira Pohl
Ebook C++ For C Programmers, Third Edition (3rd Edition), by Ira Pohl
C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl. In undertaking this life, numerous individuals constantly aim to do as well as obtain the most effective. New knowledge, experience, driving lesson, and also every little thing that could boost the life will certainly be done. Nonetheless, numerous individuals in some cases really feel perplexed to obtain those points. Feeling the restricted of encounter as well as resources to be much better is one of the does not have to possess. Nonetheless, there is a quite easy thing that could be done. This is exactly what your teacher constantly manoeuvres you to do this one. Yeah, reading is the answer. Reviewing an e-book as this C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl and various other references could improve your life high quality. Just how can it be?
Undoubtedly, to boost your life top quality, every publication C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl will certainly have their certain lesson. Nevertheless, having specific recognition will make you feel more positive. When you feel something occur to your life, in some cases, reading e-book C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl could aid you to make tranquility. Is that your actual pastime? In some cases indeed, but in some cases will be unsure. Your selection to read C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl as one of your reading e-books, could be your proper e-book to read now.
This is not about just how a lot this publication C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl prices; it is not likewise regarding just what type of book you really enjoy to check out. It has to do with what you can take as well as receive from reading this C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl You could like to choose other publication; yet, it matters not if you attempt to make this e-book C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl as your reading choice. You will certainly not regret it. This soft data e-book C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl could be your buddy regardless.
By downloading this soft documents publication C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl in the online web link download, you remain in the initial step right to do. This website really supplies you ease of ways to obtain the most effective book, from best seller to the new released e-book. You could discover a lot more e-books in this site by seeing every web link that we offer. Among the collections, C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl is one of the finest collections to offer. So, the initial you get it, the first you will obtain all favorable for this e-book C++ For C Programmers, Third Edition (3rd Edition), By Ira Pohl
Extensively revised and updated, this proven book by noted C++/C expert Ira Pohl is written specifically for C programmers who are transitioning to C++. C++ For C Programmers takes an evolutionary teaching approach, using C as a starting point and C++ as a destination. This third edition reflects the new ANSI C++ Standard, and covers the latest language features-including detailed discussions of templates, STL, and exception handling. Each chapter contains a brief examination of Java that compares and contrasts it with C++, providing the C programmer with a more complete understanding of both C and C++, and their relationship to Java.
- Sales Rank: #949733 in Books
- Published on: 1998-11-20
- Original language: English
- Number of items: 1
- Dimensions: 9.90" h x 1.10" w x 6.90" l, 1.81 pounds
- Binding: Paperback
- 512 pages
From the Back Cover
Extensively revised and updated, this proven book by noted C++/C expert Ira Pohl is written specifically for C programmers who are transitioning to C++. C ++ For C Programmers, Third Edition takes an evolutionary teaching approach, using C as a starting point and C++ as a destination. This third edition reflects the new ANSI C++ Standard, and covers the latest language features--including detailed discussions of templates, STL, and exception handling. Each chapter contains a brief examination of Java that compares and contrasts it with C++, providing the C programmer with a more complete understanding of both C and C++ and their relationship to Java.
Highlights of C++ for C Programmers, Third Edition , include:
- A smooth transition to C++ and object-oriented programming for programmers already familiar with C
- Extensive exercises and frequent language comparisons to teach concepts quickly and to introduce the language's powerful object-oriented features
- Pohl's trademark "dissection" code presentation technique, which illustrates the underlying structure of programs and makes design tradeoffs understandable
0201395193B04062001
About the Author
Ira Pohl is a Professor of Computer Science at the University of California, Santa Cruz and holds a Ph.D. in Computer Science from Stanford University. His research interests include artificial intelligence, the C and C++ programming languages, practical complexity problems, heuristic search methods, deductive algorithms, and educational and social issues. He originated error analysis in heuristic search methods and deductive algorithms.
Professor Pohl was formerly a Mackay professor at University of California- Berkeley and a ZWO fellow in the Netherlands. He is the author or co-author of Object-Oriented Programming Using C++, C++ Distilled: A Concise Ansi/Iso Reference and Style Guide, C by Dissection: The Essentials of C Programming, A Book on C: Programming in C, C++ for C Programmers, C++ for Fortran Programmers, C++ for Pascal Programmers, and Turbo C: The Essentials of C Programming, all published by Addison-Wesley.
0201395193AB04062001
Excerpt. � Reprinted by permission. All rights reserved.
The book uses an evolutionary teaching process, with C as a starting point and C++ as a destination. It can also be used by those already familiar with other similar programming languages, such as Pascal, PL/1, or BASIC. The reader can stop and use the language facilities at various points in the text.
This book will get the C programmer up and running in C++ in the shortest possible time. The teaching-by-equivalency method used enables the C programmer to immediately convert existing code to C++. Working code is emphasized. A program particularly illustrative of the chapter's themes is analyzed by dissection, which is similar to a structured walk-through of the code. Dissection explains to the reader newly encountered programming elements and idioms.
C is a general-purpose programming language that was originally designed by Dennis Ritchie of Bell Laboratories and implemented there on a PDP-11 in 1972. C was first used as the systems language for the UNIX operating system. Ken Thompson, the developer of UNIX, had been using both an assembler and a language named B to produce initial versions of UNIX in 1970.
C++, invented at Bell Labs by Bjarne Stroustrup in the mid-1980s, is a powerful modern successor language to C. C++ adds to C the concept of class, a mechanism for providing user-defined types, also called abstract data types. C++ supports object-oriented programming by these means and by providing inheritance and runtime type binding. C++ is increasingly the choice of scientists and engineers in developing scientific software.
This book, intended for use in a first course in C++ programming, can be used as a supplementary text in an advanced programming, data structures, software methodology, comparative language, or other course in which the instructor wants C++ to be the language of choice. Each chapter presents a number of carefully explained programs.
All of the major pieces of code were tested. A consistent and proper coding style is adopted from the beginning and is one chosen by professionals in the C++ community. The code is available at the Addison Wesley Longman Web site (www.awl.com/cseng/titles/0-201-39519-3/).
For the programmer who wants C experience, this book could be used in conjunction with A Book on C, 4th ed. , by Al Kelley and Ira Pohl (Addison-Wesley, 1998). As a package, the two books offer a unique, integrated treatment of the C and C++ programming languages and their use.
This book incorporates a number of important features.
- An evolutionary approach. The C programmer can immediately benefit from programming in C++. Chapter 1, "An Overview of C++ and Object-Oriented Programming," provides an introduction to the use of C++ as an object-oriented programming language. Chapter 2, "Native Types and Statements," reviews the kernel language, which is mostly C with some improvements. Chapter 3, "Functions, Pointers, and Arrays," continues with similarities between functions and complex data types. The middle chapters show how to use classes, which are the basis for abstract data types and object-oriented programming (OOP). The later chapters give advanced details of the use of inheritance, templates, and exceptions. At any point in the text, the programmer can stop and use the new material.
- Teaching by example. The book is a tutorial that stresses examples of working code. Right from the start, the student is introduced to full working programs. An interactive environment is assumed. Exercises are integrated with the examples to encourage experimentation. Excessive detail is avoided in explaining the larger elements of writing working code. Each chapter has several important example programs. Major elements of these programs are explained by dissection.
- Data structures in C++. The text emphasizes many of the standard data structures from computer science. Stacks, safe arrays, dynamically allocated multidimensional arrays, lists, trees, and strings are all implemented. Exercises extend the student's understanding of how to implement and use these structures. Implementation is consistent with an abstract data type approach to software.
- Object-oriented programming. The reader is led gradually to the object-oriented style. Chapter 1, "An Overview of C++ and Object-Oriented Programming," discusses how the C programmer can benefit in important ways from a switch to C++ and object-oriented programming. Object-oriented concepts are defined, and the way in which these concepts are supported by C++ is introduced. Chapter 4, "Classes," introduces classes, which are the basic mechanism for producing modular programs and implementing abstract data types. Class variables are the objects being manipulated. Chapter 8, "Inheritance," develops inheritance and virtual functions, two key elements in this paradigm. Chapter 10, "OOP Using C++," discusses OOP programming philosophy. This book develops in the programmer an appreciation of this point of view.
- C equivalence. Where appropriate, C++ code is given with equivalent C code. This gives the experienced C programmer immediate access to idiomatic C++ code.
- New Java equivalence. At the end of each chapter is a discussion of how the C++ programmer can very naturally and easily begin programming in Java, a language of interest for work on the Internet. The Java programming language borrows ideas from C++ and is designed to run in a machine- and system-independent manner. This makes it suitable for Internet work, such as writing applets for Web pages that are used by browsers. Because Java is an extension of C++, it is readily learned by the C++ programmer.
- ANSI C++ language and iostream. For an existing, widely used language, C++ continues to change at a rapid pace. This book is based on the most recent standard: the ANSI C++ Committee language documents. A succinct informal language reference is provided in Appendix C, "Language Guide." Use of the iostream library is featured in Appendix D, "Input/Output," and STL is featured in Appendix E, "STL and String Libraries."
- Standard template library (STL). STL is explained and used in Chapter 7, "Templates, Generic Programming, and STL," and in Appendix E, "STL and String Libraries." Many of the data structure examples foreshadow its explanation and use. There is a strong emphasis on the template mechanism required for STL and the iterator idiom that STL exploits.
- Industry- and course-tested. This book is the basis of many on-site professional training courses given by the author, who has used its contents to train professionals and students in various forums since 1986. The various changes are course-tested and reflect the author's considerable teaching and consulting experience. The text is the basis for Web-based training in C++ available from www.digitalthink.com
- Exercises. The exercises test and often advance the student's knowledge of the language. Many are intended to be done interactively while reading the text, encouraging self-paced instruction.
- Web site. The examples both within the book and at Addison-Wesley's Web site are intended to exhibit good programming style. The Addison-Wesley Web site for this book contains the programs in the book, as well as adjunct programs that illustrate points made in the book or flesh out short pieces of programs. The programs available at the Web site are introduced by their .cpp or .h names and can be obtained by referencing www.awl.com/cseng/titles/0-201-39519-3/
My special thanks go to my wife, Debra Dolsberry, who encouraged me throughout this project. She acted as book designer and technical editor for this edition. She developed appropriate formats and style sheets in FrameMaker 5.5 and guided the transition process from my other books on C++. She also implemented and tested all major pieces of code.
This book was developed with the support of my editor, J. Carter Shanklin, and editorial assistant, Angela Buenning.
--Ira Pohl
University of California, Santa Cruz
0201395193P04062001
Most helpful customer reviews
55 of 57 people found the following review helpful.
Yet another bad computer book
By Rachel Simmons
As I said in another review, the computer industry is notable for the huge quantity of really bad books it engenders. This is one of those books. Before saying why it is a bad book, I will present the table of contents:
Preface
1. An Overview of C++ and Object-Oriented Programming
2. Native Types and Statements
3. Functions, Pointers, and Arrays
4. Classes
5. Constructors and Destructors
6. Operator Overloading and Conversion
7. Templates, Generic Programming, and STL
8. Inheritance
9. Exceptions
10. OOP Using C++
Appendices
A. ASCII Character Codes
B. Operator Precedence and Associativity
C. Language Guide
D. Input/Output
E. STL and String Libraries
References
Index
So, what makes this book bad?
First, there is the problem of confusion of purpose. The book's title proclaims that it is: "C++ for C Programmers". From the title, the reader would expect that the book would assume that he knew C and would teach him C++. The first sentence of the Preface would support him in this idea: "The book uses an evolutionary teaching process, with C as a starting point and C++ as a destination."
The first odd thing that the reader will notice is that each chapter includes a short section on Java. Why? There is no realistic hope of teaching the reader Java in so short a space; there is no reason to think that the reader wanted the book to teach him Java. The existence of these sections is a mystery.
The second odd thing that the reader will notice is that the book attempts to teach him C. Take for example, the following from the book
"2.81 Assignment and Expressions
In C++, assignment occurs as part of an assignment expression, which can occur in several forms.
a = b + 1;
This expression evaluates the right-hand side of the assignment and converts it to a value compatible with the variable on the left-hand side..."
Now the above is all very well, but if the reader already knows C, he is already aware of this - why explain it to him again? The author's instructions with regard to this question, from the start of the chapter, are curious: "For the experienced C programmer, most of this chapter's material should be skimmed and read mainly with an eye for differences between C and C++. These differences will be listed in the chapter summary, which the experienced C programmer can use to determine what to selectively read about." Quite. If the reader takes the author's advice, he will skip to the chapter summary, and read a summary of the differences. An example of these is the following: "In addition to implicit conversions, which can occur across assignments and in mixed expressions, there are explicit conversions called casts. New keywords introduced in C++ for casts are static_cast, reinterpret_cast, const_cast, and dynamic_cast." As can be seen, the summary does not tell the reader what he needs to know from the chapter, it instead tells him what he should try to go back and find in the chapter. The basic organizational model here is the scavenger hunt: the reader is given a list of things to find, and a locale in which those things are hidden; he is told to flip back and forth and scan until he has found (hopefully) the new material that the author has scattered through the old. The reader could be forgiven for thinking that the author was deliberately wasting his time.
The second problem with the book is that it isn't very informative. For example, take the matter of the casts that are in C++ but not C, which I used in the previous example. The full description in the chapter of the const_cast is as follows:
"Two other special casts exist in C++: const_cast and dynamic cast...The const modifier means that a variable's value is nonmodifiable. Very occasionally, it is convenient to remove this restriction. Doing so is known as 'casting away constness' and is accomplished with the const_cast, as in:
foo(const_cast(c_var)); // used to invoke foo
..."
Now, a cast is a type conversion, so the example would be much clearer if the prototype for foo() and the type of c_var were provided. Sadly, the author has presented neither. Still, the reader might hope that the extensive language guide section in the back would clarify matters. So he checks it and reads the following:
"Two other special casts exist in C++: const_cast and dynamic cast...The const modifier means that a variable's value is nonmodifiable. Very occasionally, it is convenient to remove this restriction. Doing so is known as 'casting away constness' and is accomplished with the const_cast, as in:
foo(const_cast(c_var)); // used to invoke foo
..."
The reader is almost certain to be disappointed at this point - the description in the main text and that in the language reference are word-for-word identical, right down to the same, meaningless example.
The only possible justification for the over-bare descriptions of the new features in the language is to keep the book short, but the book is padded three times over: it has material the reader doesn't want to know (Java), material the reader already knows (C), and material it has already presented (the main text/language guide reprint).
In the absence of justifiable reasons for why the book is the way it is, the reader is forced to assume unjustifiable reasons: that the author and the publisher either didn't know how to keep faith with the reader or that they didn't care to, or quite possibly both.
12 of 14 people found the following review helpful.
If you have to, get this from the library. Don't buy.
By Kevin Benton
I'm dissapointed that Ira Pohl would write a book with such low quality. His book is inappropriately titled. In his book, he clearly states Java is better than C++. If that's the case, then why is he writing a book on C++? At any rate, this book does a lot to confuse readers by throwing information at us that doesn't apply to C++ knowlege. I feel that the original version of this book (which I own) does better job. Mr. Pohl takes way too much time in this book explaining C. We're C programmers. We don't need to re-learn C. This is one book I don't want in my reference library. "The C++ Programming Language" is a much better book. I often use my local library and it's ordering resources to check out books before buying. At 40-80 bucks a pop, I can't afford to buy junk.
Hits:
1) Includes brief review of STL.
2) Includes more coverage of the C++ language.
Misses:
1) Not worth buying. Might check out from library if really needed.
2) Confuses readers with comparisons of Java vs. C++
3) Treats C programmer as inexperienced.
4) 1st edition much better at focusing on issue of teaching C++ to C programmers.
5 of 5 people found the following review helpful.
An Obsolete Book for Obsolete Programmers
By FredTownWard
I was initially dismayed by the large number of negative reviews, but now that I've completed this book I believe I understand why; this book is really intended for a very narrow target audience: very experienced C programmers with no knowledge of C++ -- i.e., Old Farts,...
like me.
Is there ANY school out there today teaching people C WITHOUT also teaching them C++? It seems unlikely, almost as unlikely as it would be to find a potential employer out there who is seeking Plain Old C programmers today. So if you are an Old C Dog like me looking to learn the "new" trick of C++, this book is for you and ONLY for you! I read it carefully and was able to pass a C++ test that I wouldn't have gotten a single answer right on before I read it. Anyone else looking to learn C++ would be better served by choosing C++ for Dummies or something similar.
Defects? There are a number of them. First, the book does not come with a compiler or a CD-ROM. It DOES come with a URL from which you can download the COMPLETE source code referred to in the book, but you will have to obtain your own compiler, and chances are, you will have to considerably modify the comparatively ancient source code in order to get it to compile for you. There are some things that you used to be able to do in C++ that you just cannot do any longer, at least not without turning off a lot of modern ANSI compiler errors.
Second, because this is intended as a textbook, there are no answers to the end of chapter exercises, at least not unless you find yourself a Teacher's Edition.
Finally, I have to agree with the reviewers who question the thinking behind the "Moving from C++ to Java" section at the end of each chapter. Sure, it is somewhat interesting to see one of the chapter's C++ programs rewritten in Java, but it is nothing close to enough to learn Java from so what's the point?
See all 17 customer reviews...
C++ For C Programmers, Third Edition (3rd Edition), by Ira Pohl PDF
C++ For C Programmers, Third Edition (3rd Edition), by Ira Pohl EPub
C++ For C Programmers, Third Edition (3rd Edition), by Ira Pohl Doc
C++ For C Programmers, Third Edition (3rd Edition), by Ira Pohl iBooks
C++ For C Programmers, Third Edition (3rd Edition), by Ira Pohl rtf
C++ For C Programmers, Third Edition (3rd Edition), by Ira Pohl Mobipocket
C++ For C Programmers, Third Edition (3rd Edition), by Ira Pohl Kindle
C++ For C Programmers, Third Edition (3rd Edition), by Ira Pohl PDF
C++ For C Programmers, Third Edition (3rd Edition), by Ira Pohl PDF
C++ For C Programmers, Third Edition (3rd Edition), by Ira Pohl PDF
C++ For C Programmers, Third Edition (3rd Edition), by Ira Pohl PDF