Sunday, 31 March 2013

Preparing to Program Of C++


C++, perhaps more than other languages, demands that the programmer design the program before writing it. Trivial problems, such as the ones discussed in the first few chapters of this book, don't require much design. Complex problems, however, such as the ones professional programmers are challenged with every day, do require design, and the more thorough the design, the more likely it is that the program will solve the problems it is designed to solve, on time and on budget. A good design also makes for a program that is relatively bug-free and easy to maintain. It has been estimated that fully 90 percent of the cost of software is the combined cost of debugging and maintenance. To the extent that good design can reduce those costs, it can have a significant impact on the bottom-line cost of the project.


The first question you need to ask when preparing to design any program is, "What is the problem I'm trying to solve?" Every program should have a clear, well-articulated goal, and you'll find that even the simplest programs in this book do so.


The second question every good programmer asks is, "Can this be accomplished without resorting to writing custom software?" Reusing an old program, using pen and paper, or buying software off the shelf is often a better solution to a problem than writing something new. The programmer who can offer these alternatives will never suffer from lack of work; finding less-expensive solutions to today's problems will always generate new opportunities later.

Assuming you understand the problem, and it requires writing a new program, you are ready to begin your design.

How C++ Evolved????


As object-oriented analysis, design, and programming began to catch on, Bjarne Stroustrup took the most popular language for commercial software development, C, and extended it to provide the features needed to facilitate object-oriented programming. He created C++, and in less than a decade it has gone from being used by only a handful of developers at AT&T to being the programming language of choice for an estimated one million developers worldwide. It is expected that by the end of the decade, C++ will be the predominant language for commercial software development.




While it is true that C++ is a superset of C, and that virtually any legal C program is a legal C++ program, the leap from C to C++ is very significant. C++ benefited from its relationship to C for many years, as C programmers could ease into their use of C++. To really get the full benefit of C++, however, many programmers found they had to unlearn much of what they knew and learn a whole new way of conceptualizing and solving programming problems.

C++ and Object-Oriented Programming


C++ fully supports object-oriented programming, including the four pillars of object-oriented development: encapsulation, data hiding, inheritance, and polymorphism. Encapsulation and Data Hiding When an engineer needs to add a resistor to the device she is creating, she doesn't typically build a new one from scratch. She walks over to a bin of resistors, examines the colored bands that indicate the properties, and picks the one she needs. The resistor is a "black box" as far as the engineer is concerned--she doesn't much care how it does its work as long as it conforms to her specifications; she doesn't need to look inside the box to use it in her design.
The property of being a self-contained unit is called encapsulation. With encapsulation, we can accomplish data hiding. Data hiding is the highly valued characteristic that an object can be used without the user knowing or caring how it works internally. Just as you can use a refrigerator without knowing how the compressor works, you can use a well-designed object without knowing about its internal data members.
Similarly, when the engineer uses the resistor, she need not know anything about the internal state of the resistor. All the properties of the resistor are encapsulated in the resistor object; they are not spread out through the circuitry. It is not necessary to understand how the resistor works in order to use it effectively. Its data is hidden inside the resistor's casing.

C++ supports the properties of encapsulation and data hiding through the creation of user-defined types, called classes. You'll see how to create classes on Day 6, "Basic Classes." Once created, a well-defined class acts as a fully encapsulated entity--it is used as a whole unit. The actual inner workings of the class should be hidden. Users of a well-defined class do not need to know how the class works; they just need to know how to use it. Inheritance and Reuse When the engineers at Acme Motors want to build a new car, they have two choices: They can start from scratch, or they can modify an existing model. Perhaps their Star model is nearly perfect, but they'd like to add a turbocharger and a six-speed transmission. The chief engineer would prefer not to start from the ground up, but rather to say, "Let's build another Star, but let's add these additional capabilities. We'll call the new model a Quasar." A Quasar is a kind of Star, but one with new features.

Introduction With A Brief History of C++

Computer languages have undergone dramatic evolution since the first
electronic computers were built to assist in telemetry calculations during

World War II. Early on, programmers worked with the most primitive 
computer instructions: machine language. These instructions were represented 
by long strings of ones and zeroes. Soon, assemblers were invented to map 
machine instructions to human-readable and -manageable mnemonics, such
 as ADD and MOV.





In time, higher-level languages evolved, such as BASIC and COBOL. 
These languages let people work with something approximating words and 
sentences, such as Let I = 100. These instructions were translated back 
into machine language by interpreters and compilers. An interpreter translates
a program as it reads it, turning the program instructions, or code, directly into 
actions. A compiler translates the code into an intermediary form. This step is 
called compiling, and produces an object file. The compiler then invokes a linker, 
which turns the object file into an executable program.




Today you will get started on your way to becoming a proficient C++ programmer. You'll learn
  • Why C++ is the emerging standard in software development.
  • The steps to develop a C++ program.
  • How to enter, compile, and link your first working C++ program.

Saturday, 30 March 2013

WEL_COME to C++ Universe


Hey Dear Welcome To C++ World
Here we made this blog to improve your knowledge about
 C++ programming and help to improve your
computer programming knowledge.......................

Here we are specially going to help our those friends who
have troubles in programming.............................

In this blog we started with basic Knowledge to Upgredetion so
that you can learn Programming very easily..............................



                                 -- SUNIL KUMAR MUKESH KUMAR