Free Essay

C++ Programming

In: Computers and Technology

Submitted By zeemusic1980
Words 1199
Pages 5
C++
CIS328
Professor
Vijayakumar Kumarasamy
06/18/2014

Classes
Classes are an expanded concept of data structures: like data structures, they can contain data members, but they can also contain functions as members.
Object
An object is an instantiation of a class. In terms of variables, a class would be the type, and an object would be the variable.
Abstraction
Data abstraction refers to, providing only essential information to the outside world and hiding their background details, i.e., to represent the needed information in program without presenting the details.
Data abstraction is a programming (and design) technique that relies on the separation of interface and implementation.
Encapsulation
Encapsulation is an Object Oriented Programming concept that binds together the data and functions that manipulate the data, and that keeps both safe from outside interference and misuse. Data encapsulation led to the important OOP concept of data hiding.
Data encapsulation is a mechanism of bundling the data, and the functions that use them and data abstraction is a mechanism of exposing only the interfaces and hiding the implementation details from the user.
Inheritance
One of the most important concepts in object-oriented programming is that of inheritance. Inheritance allows us to define a class in terms of another class, which makes it easier to create and maintain an application. This also provides an opportunity to reuse the code functionality and fast implementation time.
When creating a class, instead of writing completely new data members and member functions, the programmer can designate that the new class should inherit the members of an existing class. This existing class is called the base class, and the new class is referred to as the derived class.
The idea of inheritance implements the is a relationship. For example, mammal IS-A animal, dog IS-A mammal hence dog IS-A animal as well and so on.
Templates
Templates in C++ programming allows function or class to work on more than one data type at once without writing different codes for different data types. Templates are often used in larger programs for the purpose of code reusability and flexibility of program. The concept of templates can be used in two different ways; Function Templates and Class Templates.
Containers
A container is a holder object that stores a collection of other objects (its elements). They are implemented as class templates, which allow for a great flexibility in the types supported as elements.
The container manages the storage space for its elements and provides member functions to access them, either directly or through iterators (reference objects with similar properties to pointers).
Now let’s give a simple example of a class definition for a generic Employee: class Employee { public: Employee(string theName, float thePayRate); string getName() const; float getPayRate() const; float pay(float hoursWorked) const; protected: string name; float payRate; };

To talk about why classes are an improvement to C language, classes are there to help you organize your code and to reason about your programs. You could roughly equivalently say that classes are there to help you avoid making mistakes and to help you find bugs after you do make a mistake. In this way, classes significantly help maintenance. A class is the representation of an idea, a concept, in the code. An object of a class represents a particular example of the idea in the code. Without classes, a reader of the code would have to guess about the relationships among data items and functions - classes make such relationships explicit and "understood" by compilers. With classes, more of the high-level structure of your program is reflected in the code, not just in the comments.

All C++ programs are composed of the following two fundamental elements: * Program statements (code): This is the part of a program that performs actions and they are called functions. * Program data: The data is the information of the program which affected by the program functions.
Encapsulation is an Object Oriented Programming concept that binds together the data and functions that manipulate the data, and that keeps both safe from outside interference and misuse. Data encapsulation led to the important OOP concept of data hiding.
A fundamental concept of Object Oriented (OO) recommends an object should not expose any of its implementation details. This way, you can change the implementation without changing the code that uses the object. The class, by design, allows its programmer to hide (and also prevents changes as to) how the class is implemented. This powerful tool allows the programmer to build in a 'preventive' measure. Variables within the class often have a very significant role in what the class does, therefore variables can be secured within the private section of the class.
The access labels Public, Protected and Private are used within classes to set access permissions for the members in that section of the class. All class members are initially private by default. The labels can be in any order. These labels can be used multiple times in a class declaration for cases where it is logical to have multiple groups of these types. An access label will remain active until another access label is used to change the permissions.
The way classes restrict access to the member functions and variables through the use of access specifiers such as the following.
Public
This label indicates any members within the 'public' section can be accessed freely anywhere a declared object is in scope.
Note:
Avoid declaring public data members, since doing so would contribute to create unforeseen disasters.
Private
Members defined as private are only accessible within the class defining them, or friend classes. Usually the domain of member variables and helper functions. It's often useful to begin putting functions here and then moving them to the higher access levels as needed so to reduce complexity.
Note:
It's often overlooked that different instances of the same class may access each other’s' private or protected variables. A common case for this is in copy constructors.
Protected
The protected label has a special meaning to inheritance; protected members are accessible in the class that defines them and in classes that inherit from that base class, or friends of it. In the section on inheritance we will see more about it.

Note:
Other instances of the same class can access a protected field - provided the two classes are of the same type. However, an instance of a child class cannot access a protected field or method of an instance of a parent class.

References
Inheritance and Access Specifiers. Taken from: http://www.learncpp.com/cpp-tutorial/115-inheritance-and-access-specifiers/
Friend Functions and Friend Classes. Taken from: http://www.cprogramming.com/tutorial/friends.html
History of C++. Taken from: http://www.cplusplus.com/info/history/
Function Templates. Taken from: http://en.cppreference.com/w/cpp/language/function_template
C++ Templates. Taken from http://www.tutorialspoint.com/cplusplus/cpp_templates.htm
Davis Bolton. Encapsulation. Taken from: http://cplus.about.com/od/glossar1/g/encapsulation.htm
D. Malik. Sixth Edition. C++ Programming. From Problem Analysis to Program Design.
Introduction to Inheritance. Taken from https://www.cs.bu.edu/teaching/cpp/inheritance/intro/
Class and Objects. Taken from http://www.cppforschool.com/tutorial/classobject.html

Similar Documents

Free Essay

C Programming

...Welcome to CS 241 Systems Programming at Illinois Robin Kravets Copyright ©: University of Illinois CS 241 Staff 1 The Team  Robin Kravets    TAs   Office: 3114 SC rhk@illinois.edu Wade Fagen, Farhana Ashraf, Hilfi Alkaff and Mainak Ghosh Discussion Sections   8 sessions (Thursdays 9, 10, 11, 12, 1, 2, 3, 4) All sections in SC 0220 Copyright ©: University of Illinois CS 241 Staff 2 News and Email  Announcements and discussions: Piazza  http://www.piazza.com/illinois/cs241     All class questions This is your one-stop help-line! Will get answer < 24 hours e-mail   cs241help-fa12@cs.illinois.edu Personal questions not postable on the news group Copyright ©: University of Illinois CS 241 Staff 3 The Textbook  Introduction to Systems Concepts and Systems Programming      University of Illinois Custom Edition Copyright © 2007 Pearson Custom Publishing ISBN 0-536-48928-9 Taken from:    Operating Systems: Internals and Design Principles, Fifth Edition, by William Stallings UNIX™ Systems Programming: Communication, Concurrency, and Threads, by Kay A. Robbins and Steven Robbins Computer Systems: A Programmer's Perspective, by Randal E. Bryant and David R. O'Hallaron Copyright ©: University of Illinois CS 241 Staff 4 Your CS 241 “Mission”  Come to class     Read textbook    20% 7:00 – 9:00 PM October 15th Final  3% 47% Longer MPs are worth a little more Midterm   Reading assignments posted on......

Words: 1748 - Pages: 7

Free Essay

C Programming

...C PROGRAMMING Section 1. Topics: Functions Statements Input Output Variables Introduction The C programming language has been the most popular high level language used for engineering applications for the last 20 years. It shares many common structures with other procedural languages, such as Pascal, and can be used for general purpose programming of a PC. However, it is also particularly good for development of embedded application programs such as those found in phones, video recorders and so forth. The term procedural language refers to the fact that the language uses procedures to do particular tasks such as printing on the screen. In C these procedures are known as functions and are described below. What is so good about a language like C? The basic reason such languages were developed was to make it easier for humans to program computers. The alternative is the language of the computer, i.e., binary codes. Clearly such ‘low-level’ languages are not very appealing for humans, although sometimes necessary for detailed engineering work. (In fact C is often ‘mixed’ with such languages for engineering applications.) C uses words and symbols that are part of, or similar to, normal language. This makes it easier for programmers to develop code. The C code is converted to the machine code by a special program called a compiler. See note 1. But perhaps the most useful thing about such a language is that it provides the developer with a library of......

Words: 3795 - Pages: 16

Premium Essay

C++ Programming

...C++ PROGRAMMING: FROM PROBLEM ANALYSIS TO PROGRAM DESIGN FIFTH EDITION D.S. MALIK Australia  Brazil  Japan  Korea  Mexico  Singapore  Spain  United Kingdom  United States C++ Programming: From Problem Analysis to Program Design, Fifth Edition D.S. Malik Executive Editor: Marie Lee Acquisitions Editor: Amy Jollymore Senior Product Manager: Alyssa Pratt Editorial Assistant: Zina Kresin Content Project Manager: Matthew Hutchinson Art Director: Faith Brosnan Print Buyer: Julio Esperas Cover Designer: Roycroft Design/ www.roycroftdesign.com Cover Photo: ª Guntmar Fritz/Masterfile Proofreader: Green Pen QA Indexer: Elizabeth Cunningham Compositor: Integra ª 2011 Course Technology, Cengage Learning ALL RIGHTS RESERVED. No part of this work covered by the copyright herein may be reproduced, transmitted, stored or used in any form or by any means graphic, electronic, or mechanical, including but not limited to photocopying, recording, scanning, digitizing, taping, Web distribution, information networks, or information storage and retrieval systems, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without the prior written permission of the publisher. For product information and technology assistance, contact us at Cengage Learning Customer & Sales Support, 1-800-354-9706 For permission to use material from this text or product, submit all requests online at www.cengage.com/permissions Further permissions questions can......

Words: 11776 - Pages: 48

Premium Essay

C Programming Assignment

...C Programming assignment 1/10 APS106 2012 Project An adapted version of Chain Reaction The objectives of this project are twofold: (i) to strengthen your programming skills, and (ii) to provide you an opportunity to develop a complex project as a team. You are required to implement material covered in the APS106 course in a large C program that fulfills the requirements described below. Students will work together in teams, and students (even on different teams) are encouraged to learn from one another. However, each team is expected to develop its own project, and no teams should share code. The evaluation process at the end of term will include an automated and sophisticated comparison of codes that will identify instances of similarity. Such instances will be examined closely. Violations of the above rules will be dealt with in accordance with the University of Toronto’s Code of Behavior on Academic Matters. In case of ambiguities or errors in these instructions, we (the APS106 instructors) may clarify/modify them as the term progresses. IMPORTANT DATES ? March 5 -team registration ? April 9-11 -contest (optional) ? April 13 at 3:00 -submission deadline (report and code) PROJECT COORDINATOR: Babak Samareh (aps106ta@mie.utoronto.ca) -make sure you begin the subject line with “APS106”, as he’s going to get a lot of email. LOGISTICS Students will work in teams of 3-4 people. No exceptions. Teams may be composed of students from any of the five lecture sections of the course....

Words: 358 - Pages: 2

Free Essay

C# Programming

...True or False (Circle T/F if you think the statement is true/false) (Each question worth 5 points) 1. In C#, a project is a set of files and a solution is a set of projects. T 2. Every object you create or use in C# programming has a specific type usually. When a method doesn’t return anything, there is no return type defined for the method. F 3. In C#, some of the objects, variables or constants don’t have a specific type. F 4. The continue statement skips the remaining statements in the loop (any loop) and transfers control to the test condition. T 5. A smaller type must be explicitly cast to a compatible larger type. F 6. Assume you declared a constant when you’re programming. Although it is called a “constant”, its value can be changed when the program is running. F 7. The members in class A that are marked by private are accessible to methods of class A and also to methods of classes derived from class A. F 8. In C#, when you declare a variable without initializing it, the system will initialize the variable to 0 automatically as VB does. F 9. The system will execute a mathematical formula from left to right; you don’t have to consider the issue of operator precedence in C#. F 10. Implicit casting sometimes runs the risk of data loss. F Multiple Choice questions: (Circle all that applies. If all of your choices are correct but you missed the other correct choices, you will receive......

Words: 390 - Pages: 2

Premium Essay

C Programming

...1. What do we call the process of sub-dividing a problem into smaller sub-problems? This process is called Top-Down Design. 2. What is the purpose of a function prototype? It tells the return type of the data that the function will return. It tells the number of arguments passed to the function. It tells the data type of each of the passed arguments. It also tells the order in which the argument is passed to the function. 3. What is the purpose of the function definition? A function definition specifies the name of the function, the types and number of parameters it expects to receive, and its return type. A function definition also includes a function body with the declarations of its local variables, and the statements that determine what the function does. Chapter 3 Self-Check Exercises (p. 123) number 1a-d, 2a-e 4. 1a) root = u + v * pow(w,2) 1b) root = cube(x – y) 1c) loge=pow(x, y) 1d) absolute = (x*y) – (w/z) 2a) 20.0 2b) 17 2c) 22.0 2d) 3.0 Chapter 3, Review Questions (p. 167), numbers 3-6, 3. A function is executed after the function prototype in a source program. A function prototype and a function definition appear on separate lines in a source in a source program. 4. For a team of programmers working together on a large program, function subprograms make it easier to apportion tasks. They simplify programing tasks. Functions can be utilized more than once in a program. 5. Functions are more efficient for computer and programmer.......

Words: 599 - Pages: 3

Free Essay

C Programming on Linux

...C Programming on Linux What You Need for This Project * A Kali Linux virtual machine. You could use other operating systems too, if they have a C compiler. Writing the hello.c Source Code In a Terminal window, execute this command: nano hello.c The nano editor opens. Type in the program shown below. #include <stdio.h> main() { printf("Hello World!\n"); } Save your file with Ctrl+X, Y, Enter. Compiling hello.c to Create the hello File In a Terminal window, execute these commands: gcc hello.c -o hello ./hello These commands compile the hello.c program, creating an executable machine language file named hello, and run the hello executable. You should see "Hello World!", as shown below. This program works, but it would be nicer if it greeted you by name, and if it put a couple of newline characters after the greeting to make it cleaner-looking. The next version, hello2, will add these features. Writing the hello2.c Source Code In a Terminal window, execute this command: nano hello2.c The nano editor opens. Type in the program shown below. #include <stdio.h> main() { char name[10]; printf("What is your name?"); scanf("%s", name); printf("Hi, %s\n\n", name); } ...

Words: 1293 - Pages: 6

Free Essay

C++ Programming

...(Package Inheritance Hierarchy) Package-delivery services, such as FedEx, DHL, and UPS, offer a number of different shipping options, each with specific costs associated. Create an inheritance hierarchy to represent various types of packages. Use Package as the base class of the hierarchy, then include classes TwoDayPackage and OvernightPackage that derive from Package. Base-class Package should include data members representing the name, address, city, state, and ZIP code for both the sender and the recipient of the package, in addition to data members that store the weight (in ounces) and cost per ounce to ship the package. Package's constructor should initialize these data members. Ensure that the weight and cost per ounce contain positive values. Package should provide a public-member function calculateCost that returns a double, indicating the cost associated with shipping the package. Package's calculateCost function should determine the cost by multiplying the weight by the cost per ounce. Derived class TwoDayPackage should inherit the functionality of base-class Package, but also includes a data member that represents a flat fee that the shipping company charges for two-day-delivery service. TwoDayPackage's constructor should receive a value to initialize this data member. TwoDayPackage should redefine member function calculateCost so that it computes the shipping cost by adding the flat fee to the weight-based cost calculated by base-class Package's......

Words: 299 - Pages: 2

Free Essay

Quick Reference to C Programming

...A Quick Reference to C Programming Language Structure of a C Program #include(stdio.h) /* include IO library */ #include... /* include other files */ #define.. /* define constants */ /* Declare global variables*/) (variable type)(variable list); /* Define program functions */ (type returned)(function name)(parameter list) (declaration of parameter types) { (declaration of local variables); (body of function code); } /* Define main function*/ main ((optional argc and argv arguments)) (optional declaration parameters) { (declaration of local variables); (body of main function code); } Comments Format: /*(body of comment) */ Example: /*This is a comment in C*/ Constant Declarations Format: #define(constant name)(constant value) Example: #define MAXIMUM 1000 Type Definitions Format: typedef(datatype)(symbolic name); Example: typedef int KILOGRAMS; Variables Declarations: Format: (variable type)(name 1)(name 2),...; Example: int firstnum, secondnum; char alpha; int firstarray[10]; int doublearray[2][5]; char firststring[1O]; Initializing: Format: (variable type)(name)=(value); Example: int firstnum=5; Assignments: Format: (name)=(value); Example: firstnum=5; Alpha='a'; Unions Declarations: Format: union(tag) {(type)(member name); (type)(member name); ... }(variable name); Example: union demotagname {int a; float b; }demovarname; Assignment: Format: (tag).(member......

Words: 253 - Pages: 2

Premium Essay

Introduction to C Programming

...1. CPU (Computer Processing Unit): the key component of a computer system, which contains the circuitry necessary to interpret and execute program instructions. 2. RAM (Random Access Memory): computer memory available to the user for creating, loading, or running programs and for the temporary storage and manipulation of data, in which time of access to each item is independent of the storage sequence. As a storage medium, RAM is volatile, so its contents are lost when the power fails or is turned off 3. ROM (Read Only Memory): computer memory in which program instructions, operating procedures, or other data are permanently stored, generally on electronic chips during manufacture and that ordinarily cannot be changed by the user. 4. Firmware: a microprogram stored in ROM, designed to implement a function that had previously been provided in software. 5. Operating system: the collection of software that directs a computer's operations, controlling and scheduling the execution of other programs, and managing storage, input/output, and communication resources. 6. Application program: a program used for a particular application 7. Machine language: a coding system built into the hardware of a computer, requiring no translation before being run. 8. Binary: A system of numerical notation to the base 2, in which each place of a number, expressed as 0 or 1, corresponds to a power of 2 9. Main memory: program-addressable storage that is directly......

Words: 913 - Pages: 4

Premium Essay

Learn C Programming Language in 24 Hours

...Yourself C in 24 Hours Previous | Table of Contents | Next Hour 1 - Getting Started A journey of a thousand miles is started by taking the first step. —Chinese proverb High thoughts must have high language. —Aristophanes Welcome to Teach Yourself C in 24 Hours. In this first lesson you'll learn the following:     What C is Why you need to learn C The ANSI standard Hardware and software required in order to run the C program What Is C? C is a programming language. The C language was first developed in 1972 by Dennis Ritchie at AT&T Bell Labs. Ritchie called his newly developed language C simply because there was a B programming language already. (As a matter of fact, the B language led to the development of C.) C is a high-level programming language. In fact, C is one of the most popular general-purpose programming languages. In the computer world, the further a programming language is from the computer architecture, the higher the language's level. You can imagine that the lowest-level languages are machine languages that computers understand directly. The high-level programming languages, on the other hand, are closer to our human languages. (See Figure 1.1.) Figure 1.1. The language spectrum. High-level programming languages, including C, have the following advantages:    Readability: Programs are easy to read. Maintainability: Programs are easy to maintain. Portability: Programs are easy to port across different computer platforms. The C......

Words: 73255 - Pages: 294

Free Essay

Programming Concepts Using C++ Lab 6

...task. You are writing its definition. A function is a special type of module and most commonly referred to library functions which a made for different programming languages. 2. The three characteristics of a function in a IPO chart are: function header, function body, return statement. 3. The real number’s fractional part in a conversion function that is used to convert a real number to an integer usually shows up as a type mismatch error. A integer variable cannot hold fractional values. It’s better to convert the result of the math expression to an integer and then assign that integer to the variable. 4. A substring is a string within a string. The substring function typically accepts three arguments: (1) a string that you want to extract a substring from (2) the beginning position of the substring, and (3) the ending position of the substring. 5. The stringToInteger function accepts a string as an argument, converts it to an Integer, and returns the Integer value. The stringToReal function works the same way, but it converts a string to a Real, and usually then gets stored in the realNumber variable. 6. IsInteger function determines whether a string can be converted to a Integer and the isReal function determines whether a string can be converted to a Real. They use If Then Else statements. Programming Exercises 1....

Words: 260 - Pages: 2

Free Essay

C++ Programming

...ALGORITHM: STEP 1:  Start the program. STEP 2:  Declare the class name as fn with data members and member functions. STEP 3:  Read the choice from the user. STEP 4:  Choice=1 then go to the step 5. STEP 5:  The function area() to find area of circle with one integer argument. STEP 6:  Choice=2 then go to the step 7. STEP 7:  The function area() to find area of rectangle with two integer argument. STEP 8:  Choice=3 then go to the step 9. STEP 9:  The function area() to find area of triangle with three arguments, two as Integer and one as float. STEP 10: Choice=4 then stop the program. PROGRAM: #include #include #include #define pi 3.14 class fn {       public:         void area(int); //circle         void area(int,int); //rectangle         void area(float ,int,int);  //triangle };   void fn::area(int a) {       cout<<"Area of Circle:"<>ch;        switch(ch)      {               case 1:                 cout<<"Enter Radious of the Circle:";                 cin>>r;                 obj.area(r);                 break;               case 2:             ...

Words: 282 - Pages: 2

Free Essay

C Programming

...16/15=1.066666667 15%16=10 16%15=1 3a. i = 3 % 4=yes, 3 3b. i = ( 989 – MAX,_ I) / 3=no 3c. i = 4 % 3=yes 3d. x = PI * -1.0 3e. i = 3 / - 4=no 3f. x = 3 / 4= yes, 0.75 3g. x = 3% ( 3 / 4)=no 4a. i = 7 % 3=yes, 1 4b. i = ( 989 - MAX_ I) / 7= no 4c. i = 3 % 7=yes, 3 4d. x = PI * 2.0=no 4e. i = 7/ - 3=no 4f. x = 7 / 3=yes, 2.3333333333 4g. x = 7 % ( 7 / 3)=no p.102 3. What is illegal about the following program fragment? %lf%lf 4. Stylistically, which of the following identifiers would be good choices for names of constant macros? G Part 2 A. Int V Int I Int R V=I*R B. Int Area Int length Int width Area=length*width C. Int Rseries Int R1 Int R2 Int R3 Rseries=R1+R2+R3 D. Int Rparallel Int R1 Int R2 Int R1 Int R2 Rparallel=R1*R2/(R1+R2) Part3 a. 15.0 b. 7.5 c. 5.0,10.0,5,10 d. 15.0 e. 0.51.0 f. 0,3 Part 4 The month day and year are...

Words: 252 - Pages: 2

Free Essay

Ledger C Programming

...printf("\n\n\n\n\n\n\n"); printf("\n\t\t\t* Mark Rude Personal Ledger *"); printf("\n\n"); while (1) { printf("\n Enter:"); printf("\n A - Add new record"); printf("\n L - List records"); printf("\n D - Delete all records"); printf("\n E - Exit\n"); scanf("%c", &choice); choice=toupper(choice); switch(choice) { case 'A': add();break; case 'L': list();break; case 'D': deleterec();break; case 'E': exit(0); default: system("cls"); } } } void add() { FILE *f; char test; f=fopen("c:/mark.txt","ab+"); if(f==0) { f=fopen("c:/mark.txt","wb+"); system("cls"); } system("cls"); printf("\n Enter phone number:"); scanf("%s",&s.phonenumber); printf("\n Enter name:"); fflush(stdin); scanf("%[^\n]",&s.name); printf("\n Enter amount:"); scanf("%f",&s.amount); fwrite(&s,sizeof(s),1,f); fflush(stdin); system("cls"); printf("1 record successfully added\n"); fclose(f); printf("Hit any key to return"); getchar(); } void list() { FILE *f; int i; if((f=fopen("c:/mark.txt","rb"))==NULL) { system("cls"); printf("No accounts available\n"); } else { system("cls"); printf("Phone Number\t\tUser Name\t\t\tAmount"); while(fread(&s,sizeof(s),1,f)==1) { printf("\n%-10s\t\t%-20s\t\t%.2f......

Words: 280 - Pages: 2