Functions and Methods. Questions:
|
|
- Moris West
- 6 years ago
- Views:
Transcription
1 Functions and Methods Questions: 1
2 1. What is a reference in C++? 2
3 2. In the following code, which variable is being declared as a reference? Also, suppose we attempt to change the object of a reference, as in the fifth line below, will that work? int i = 30; int j = 100; int& r = i; r++; // i is now? r = j; // i is now? r++; // i is now? 3
4 3. If q is of type int*, is the following C++ syntax legal? int*& p = q; 4
5 4. Do the following two statements use the same operator for memory allocation? string* s1 = new string( "hello" ); string* s2 = new string[100]; 5
6 5. With regard to memory allocation, what s the crucial difference between the following two statements? In both cases we are allocating memory for an int array of 1000 elements. int* data = new int[1000]; int data[1000]; 6
7 6. What s the relationship between the operators new and new[], on the one hand, and the following two functions on the other? void* operator new( size_t size ); void* operator new[] (size_t size ); 7
8 7. Are there any memory leaks in the following program? Is so how will you plug them? Is there anything else wrong with the code? If so, how will you fix it? Will the program compile as it is? #include <string> class X ; int main() string* words[1000] = 0; X* xp = new X(); X* xdata = new X[1000]; delete xp; delete xdata; // More code that could possibly contain references // to xp and xdata. But this additional code does // not deallocate the memory allocated above. 8
9 8. What is the rule-of-thumb to remember to prevent memory leaks in C++ programs? 9
10 9. What s the access privilege of the two data members in the following C++ structure? struct User string name; int age; ; 10
11 10. What s the main difference between C and C++ with regard to the following structure? struct User string name; int age; ; 11
12 11. Is this syntax legal in C++? enum weight light, medium, heavy, very_heavy; int main() weight w1; w1 = heavy; weight w2 = (weight) (w ); cout << w2; 12
13 Function Declarations In C++, a function cannot be called unless it was declared previously. C++ function declarations, also called function prototypes, look like this: double cos( double ); double cos( double x); void f(int, int, int*); void g(); A function prototype may contain parameter names for better program readability, as is the case with the second example. However, the compiler simply ignores such names. Java does not require function declarations. 13
14 Passing Arguments in C++ When a function is called, each of its parameters is initialized with the corresponding argument in the function call, provided their types agree after taking into account any allowable type conversions. There are three different ways to pass arguments to functions in C++: pass by value pass by pointer pass by reference 14
15 Passing a Primitive Type Argument by Value #include <iostream> void g( int ); int main() int x = 100; g(x); //(A) cout << x << endl; // will output 100 void g( int y ) y++; //(B) 15
16 Passing a Primitive Type Argument by Pointer #include <iostream> void g( int* ); void h( int* ); int main() int x = 100; int* p = &x; g(p); //(A) cout << x << endl; // outputs 100 h(p); cout << x << endl; // outputs 200 void g( int* q ) int y = 200; q = &y; void h( int* q ) *q = 200; 16
17 Passing a Primitive Type Argument by Reference #include <iostream> void g( int& ); int main() int x = 100; g(x); //(A) cout << x << endl; // outputs 101 void g( int& y ) y++; 17
18 Passing a Class Type Argument by Value Passing a class type argument by value works the same way as passing a primitive type argument. The called function makes a local copy of the argument elsewhere in the memory and any changes made to this local copy by the called function are not visible in the calling function. 18
19 #include <iostream> #include <string> class User public: string name; int age; User( string nam, int yy ) name = nam; age = yy; ; void g( User ); int main() User u( "Xenon", 89 ); //(A) g(u); //(B) cout << u.name << " " << u.age << endl; // Xenon 89 void g( User v ) v.name = "Yukon"; v.age = 200; //(C) 19
20 Passing a Class Type Argument by Pointer When an argument is passed by pointer in a C++ program, any changes brought about inside the called function can become visible in the calling function through side effect, as was the case with the primitive types. 20
21 #include <iostream> #include <string> class User public: string name; int age; User( string nam, int yy ) name = nam; age = yy; ; void g( User* ); void h( User* ); int main() User* p = new User( "Xeno", 89 ); //(A) g( p ); //(B) cout << p->name << " " << p->age << endl; // Xeno 89 h( p ); //(C) cout << p->name << " " << p->age << endl; // Yuki 200 void g( User* q ) q = new User( "Yuki", 200 ); //(D) void h( User* q ) q->name = "Yuki"; q->age = 200; 21
22 Passing a Class Type Argument by Reference #include <iostream> #include <string> class User public: string name; int age; User( string nam, int yy ) name = nam; age = yy; ; void g( User& ); int main() User u( "Xenon", 89 ); // (A) g(u); // (B) cout << u.name << " " << u.age << endl; // Yukon 200 void g( User& v ) v.name = "Yukon"; v.age = 200; 22
23 Passing Arguments in Java Java gives you just one mode for passing arguments to methods pass by value. For class type arguments, a more precise way to say how arguments are passed to methods is that it is pass by value of object reference. 23
24 Passing a Primitive Type Argument class Test public static void main( String[] args ) int x = 100; // (A) g(x); // (B) System.out.println( x ); // outputs 100 static void g( int y ) y++; // (C) 24
25 Passing a Class Type Argument Passing a class type argument by value in Java is different from passing a class type argument by value in C++. 25
26 class User String name; int age; User( String nam, int yy ) name = nam; age = yy; ; class Test public static void main( String[] args ) User u = new User( "Xeno", 89 ); // (A) g(u); // (B) System.out.println( u.name + " " + u.age ); // Yuki 200 static void g( User v ) v.name = "Yuki"; v.age = 200; 26
27 The mode pass argument by value of object reference in Java is similar to pass by pointer in C++. 27
28 It might seem that there exists a similarity between pass by value of object reference in Java and the pass by reference in C++. In both cases, the changes brought about by the called function were visible in the calling function. So can we say the mode for argument passing in Java is similar to pass argument by reference in C++? The answer is a categorical No. 28
29 class User String name; int age; User(String nm, int a) name=nm; age=a; class test public static void main(string[] args) User u1 = new User("Xeno", 95); User u2 = new User("Yuki", 98); swap( u1, u2 ); System.out.println("u1 s name is: " + u1.name + ", and u2 s name is " + u2.name); static void swap(user s, User t) User temp = s; s = t; t = temp; 29
30 #include <iostream> #include <string> class User public: string name; int age; User(string nm, int a) name=nm; age=a; ; void swap( User&, User& ); int main() User u1 = User("Xeno", 95); User u2 = User("Yuki", 98); swap( u1, u2 ); cout << "u1 is: " << u1.name << ", and u2 is " << u2.name << endl; void swap(user& s, User& t) User temp = s; s = t; t = temp; 30
31 #include <iostream> #include <string> class User public: string name; int age; User(string nm, int a) name=nm; age=a; ; void swap( User*, User* ); int main() User u1 = User("Xeno", 95); User u2 = User("Yuki", 98); swap( &u1, &u2 ); cout << "u1 is: " << u1.name << ", and u2 is " << u2.name << endl; void swap(user* s, User* t) User temp = *s; *s = *t; *t = temp; 31
32 To pass an argument by value in C++ means that the parameter of the called function is handed a copy of the argument object in the calling function. On the other hand, to pass an argument by value in Java means that the parameter of the called function is handed a copy of the object reference held by the argument. Said another way, in call by value in Java, the calling function hands the called function a copy of the object reference, but not a copy of the object itself. On the other hand, in call by value in C++, the calling function hands to the called function a copy of the object. A call by reference not available in Java means that you are providing to the function parameter the object itself, the object that is held by the argument in the calling function. The reference parameter in the called function simply serves as just another name for the argument in the calling function. 32
33 Functions Returning Reference Types What exactly is returned by a function whose return has been specified as not void? Is it the local object itself, or is it a copy of the local object? 33
34 #include <iostream> #include <string> class User public: string name; int age; User( string nam, int yy ) name = nam; age = yy; ; User f( User u ) return u; int main() User x( "Xino", 120 ); User y = f( x ); cout << "y: " << y.name << endl; 34
35 What the function f returns is a copy of the local object it is supposed to return. Therefore, the program will make a copy of the argument object when it invokes the functionfand then another copy of that copy when it executes its return statement. That can amount to a lot of copying for large objects. We have already seen how this copying can be eliminated when passing arguments by using either a reference parameter or a pointer parameter. But what about the copying entailed in the objects that are returned? 35
36 #include <iostream> #include <string> class User public: string name; int age; User( string nam, int yy ) name = nam; age = yy; ; User& f( User u ) return u; int main() User x( "Xino", 120 ); User y = f( x ); cout << "y: " << y.name << endl; 36
37 If you wanted to guarantee that the User object being passed to the function as a reference would not get corrupted inside the function, you could use the following version of the function: User f( const User& u ) return u; And if in addition to guaranteeing that the object passed by reference would not get corrupted inside the function, you also wanted to suppress copying upon return, you could use the following version of the function: const User& f( const User& u ) return u; User& f( const User& u ) return u; 37
Object Reference and Memory Allocation. Questions:
Object Reference and Memory Allocation Questions: 1 1. What is the difference between the following declarations? const T* p; T* const p = new T(..constructor args..); 2 2. Is the following C++ syntax
More informationAgenda. The main body and cout. Fundamental data types. Declarations and definitions. Control structures
The main body and cout Agenda 1 Fundamental data types Declarations and definitions Control structures References, pass-by-value vs pass-by-references The main body and cout 2 C++ IS AN OO EXTENSION OF
More informationCSE 303: Concepts and Tools for Software Development
CSE 303: Concepts and Tools for Software Development Hal Perkins Autumn 2008 Lecture 24 Introduction to C++ CSE303 Autumn 2008, Lecture 24 1 C++ C++ is an enormous language: All of C Classes and objects
More informationLecture Notes CPSC 224 (Spring 2012) Today... Java basics. S. Bowers 1 of 8
Today... Java basics S. Bowers 1 of 8 Java main method (cont.) In Java, main looks like this: public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!"); Q: How
More informationPointers, Dynamic Data, and Reference Types
Pointers, Dynamic Data, and Reference Types Review on Pointers Reference Variables Dynamic Memory Allocation The new operator The delete operator Dynamic Memory Allocation for Arrays 1 C++ Data Types simple
More informationC++ for Java Programmers
Basics all Finished! Everything we have covered so far: Lecture 5 Operators Variables Arrays Null Terminated Strings Structs Functions 1 2 45 mins of pure fun Introduction Today: Pointers Pointers Even
More informationCSE 374 Programming Concepts & Tools. Hal Perkins Spring 2010
CSE 374 Programming Concepts & Tools Hal Perkins Spring 2010 Lecture 19 Introduction ti to C++ C++ C++ is an enormous language: g All of C Classes and objects (kind of like Java, some crucial differences)
More informationa data type is Types
Pointers Class 2 a data type is Types Types a data type is a set of values a set of operations defined on those values in C++ (and most languages) there are two flavors of types primitive or fundamental
More informationImplementing an ADT with a Class
Implementing an ADT with a Class the header file contains the class definition the source code file normally contains the class s method definitions when using Visual C++ 2012, the source code and the
More informationCS2141 Software Development using C/C++ C++ Basics
CS2141 Software Development using C/C++ C++ Basics Integers Basic Types Can be short, long, or just plain int C++ does not define the size of them other than short
More informationChapter 6: User-Defined Functions. Objectives (cont d.) Objectives. Introduction. Predefined Functions 12/2/2016
Chapter 6: User-Defined Functions Objectives In this chapter, you will: Learn about standard (predefined) functions Learn about user-defined functions Examine value-returning functions Construct and use
More informationCS201 Some Important Definitions
CS201 Some Important Definitions For Viva Preparation 1. What is a program? A program is a precise sequence of steps to solve a particular problem. 2. What is a class? We write a C++ program using data
More informationCSE 374 Programming Concepts & Tools. Hal Perkins Fall 2015 Lecture 19 Introduction to C++
CSE 374 Programming Concepts & Tools Hal Perkins Fall 2015 Lecture 19 Introduction to C++ C++ C++ is an enormous language: All of C Classes and objects (kind of like Java, some crucial differences) Many
More informationCE221 Programming in C++ Part 2 References and Pointers, Arrays and Strings
CE221 Programming in C++ Part 2 References and Pointers, Arrays and Strings 19/10/2017 CE221 Part 2 1 Variables and References 1 In Java a variable of primitive type is associated with a memory location
More informationCA31-1K DIS. Pointers. TA: You Lu
CA31-1K DIS Pointers TA: You Lu Pointers Recall that while we think of variables by their names like: int numbers; Computer likes to think of variables by their memory address: 0012FED4 A pointer is a
More informationIntroduction Of Classes ( OOPS )
Introduction Of Classes ( OOPS ) Classes (I) A class is an expanded concept of a data structure: instead of holding only data, it can hold both data and functions. An object is an instantiation of a class.
More informationMore Functions. Pass by Value. Example: Exchange two numbers. Storage Classes. Passing Parameters by Reference. Pass by value and by reference
Pass by Value More Functions Different location in memory Changes to the parameters inside the function body have no effect outside of the function. 2 Passing Parameters by Reference Example: Exchange
More informationLecture 23: Pointer Arithmetic
Lecture 23: Pointer Arithmetic Wai L. Khoo Department of Computer Science City College of New York November 29, 2011 Wai L. Khoo (CS@CCNY) Lecture 23 November 29, 2011 1 / 14 Pointer Arithmetic Pointer
More informationExercise 1.1 Hello world
Exercise 1.1 Hello world The goal of this exercise is to verify that computer and compiler setup are functioning correctly. To verify that your setup runs fine, compile and run the hello world example
More informationPOINTERS - Pointer is a variable that holds a memory address of another variable of same type. - It supports dynamic allocation routines. - It can improve the efficiency of certain routines. C++ Memory
More informationShort Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More informationFunction Overloading
Function Overloading C++ supports writing more than one function with the same name but different argument lists How does the compiler know which one the programmer is calling? They have different signatures
More informationCS201 - Introduction to Programming Glossary By
CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with
More informationIntroduction to C++ Introduction to C++ 1
1 What Is C++? (Mostly) an extension of C to include: Classes Templates Inheritance and Multiple Inheritance Function and Operator Overloading New (and better) Standard Library References and Reference
More informationIntermediate Programming, Spring 2017*
600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general
More informationLab 2: Pointers. //declare a pointer variable ptr1 pointing to x. //change the value of x to 10 through ptr1
Lab 2: Pointers 1. Goals Further understanding of pointer variables Passing parameters to functions by address (pointers) and by references Creating and using dynamic arrays Combing pointers, structures
More informationOutline. 1 About the course
Outline EDAF50 C++ Programming 1. Introduction 1 About the course Sven Gestegård Robertz Computer Science, LTH 2018 2 Presentation of C++ History Introduction Data types and variables 1. Introduction 2/1
More informationDynamic Allocation of Memory
Dynamic Allocation of Memory Lecture 4 Sections 10.9-10.10 Robb T. Koether Hampden-Sydney College Fri, Jan 25, 2013 Robb T. Koether (Hampden-Sydney College) Dynamic Allocation of Memory Fri, Jan 25, 2013
More information8. The C++ language, 1. Programming and Algorithms II Degree in Bioinformatics Fall 2017
8. The C++ language, 1 Programming and Algorithms II Degree in Bioinformatics Fall 2017 Hello world #include using namespace std; int main() { } cout
More informationChapter 9: Pointers Co C pyr py igh i t gh Pear ea so s n n E ducat ca io i n, n Inc. n c.
Chapter 9: Pointers 9.1 Getting the Address of a Variable C++ Variables [ not in book ] A Variable has all of the following attributes: 1. name 2. type 3. size 4. value 5. storage class static or automatic
More informationClasses. Logical method to organise data and functions in a same structure. Also known as abstract data type (ADT).
UNITII Classes Logical method to organise data and functions in a same structure. Also known as abstract data type (ADT). It s a User Defined Data-type. The Data declared in a Class are called Data- Members
More informationName MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.
CMPSC11 Final (Study Guide) Fall 11 Prof Hartman Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) This is a collection of statements that performs
More informationLecture 2, September 4
Lecture 2, September 4 Intro to C/C++ Instructor: Prashant Shenoy, TA: Shashi Singh 1 Introduction C++ is an object-oriented language and is one of the most frequently used languages for development due
More informationpointers + memory double x; string a; int x; main overhead int y; main overhead
pointers + memory computer have memory to store data. every program gets a piece of it to use as we create and use more variables, more space is allocated to a program memory int x; double x; string a;
More information6. Pointers, Structs, and Arrays. March 14 & 15, 2011
March 14 & 15, 2011 Einführung in die Programmierung Introduction to C/C++, Tobias Weinzierl page 1 of 47 Outline Recapitulation Pointers Dynamic Memory Allocation Structs Arrays Bubble Sort Strings Einführung
More informationExtending Classes (contd.) (Chapter 15) Questions:
Extending Classes (contd.) (Chapter 15) Questions: 1 Virtual Functions in C++ Employee /\ / \ ---- Manager 2 Case 1: class Employee { string firstname, lastname; //... Employee( string fnam, string lnam
More informationExam 2. CSI 201: Computer Science 1 Fall 2016 Professors: Shaun Ramsey and Kyle Wilson. Question Points Score Total: 80
Exam 2 CSI 201: Computer Science 1 Fall 2016 Professors: Shaun Ramsey and Kyle Wilson Question Points Score 1 18 2 29 3 18 4 15 Total: 80 I understand that this exam is closed book and closed note and
More informationFunction Declarations. Reference and Pointer Pitfalls. Overloaded Functions. Default Arguments
Reference and Pointer Pitfalls Function Declarations Never return a reference or a pointer to a local object. The return value will refer to memory that has been deallocated and will be reused on the next
More informationIntermediate Programming & Design (C++) Classes in C++
Classes in C++ A class is a data type similar to a C structure. It includes various local data (called data members) together with constructors, destructors and member functions. All of them are called
More informationArrays. Week 4. Assylbek Jumagaliyev
Arrays Week 4 Assylbek Jumagaliyev a.jumagaliyev@iitu.kz Introduction Arrays Structures of related data items Static entity (same size throughout program) A few types Pointer-based arrays (C-like) Arrays
More informationUniversity of Illinois at Urbana-Champaign Department of Computer Science. First Examination
University of Illinois at Urbana-Champaign Department of Computer Science First Examination CS 225 Data Structures and Software Principles Spring 2007 7p-9p, Thursday, March 1 Name: NetID: Lab Section
More informationPractice question Answers
Practice question Answers COMP-322, Winter 2012, All Sections These questions are not necessarily the same as a final as they aren t necessarily exactly representative of the degree of difficulty, length,
More informationScope. Scope is such an important thing that we ll review what we know about scope now:
Scope Scope is such an important thing that we ll review what we know about scope now: Local (block) scope: A name declared within a block is accessible only within that block and blocks enclosed by it,
More informationA brief introduction to C programming for Java programmers
A brief introduction to C programming for Java programmers Sven Gestegård Robertz September 2017 There are many similarities between Java and C. The syntax in Java is basically
More informationECE Fall 20l2, Second Exam
ECE 30862 Fall 20l2, Second Exam DO NOT START WORKING ON THIS UNTIL TOLD TO DO SO. LEAVE IT ON THE DESK. You have until 12:20 to take this exam. Your exam should have 16 pages total (including this cover
More informationMemory and Pointers written by Cathy Saxton
Memory and Pointers written by Cathy Saxton Basic Memory Layout When a program is running, there are three main chunks of memory that it is using: A program code area where the program itself is loaded.
More informationArrays. Returning arrays Pointers Dynamic arrays Smart pointers Vectors
Arrays Returning arrays Pointers Dynamic arrays Smart pointers Vectors To declare an array specify the type, its name, and its size in []s int arr1[10]; //or int arr2[] = {1,2,3,4,5,6,7,8}; arr2 has 8
More information6. Pointers, Structs, and Arrays. 1. Juli 2011
1. Juli 2011 Einführung in die Programmierung Introduction to C/C++, Tobias Weinzierl page 1 of 50 Outline Recapitulation Pointers Dynamic Memory Allocation Structs Arrays Bubble Sort Strings Einführung
More informationNon-numeric types, boolean types, arithmetic. operators. Comp Sci 1570 Introduction to C++ Non-numeric types. const. Reserved words.
, ean, arithmetic s s on acters Comp Sci 1570 Introduction to C++ Outline s s on acters 1 2 3 4 s s on acters Outline s s on acters 1 2 3 4 s s on acters ASCII s s on acters ASCII s s on acters Type: acter
More informationMultiple Choice (Questions 1 13) 26 Points Select all correct answers (multiple correct answers are possible)
Name Closed notes, book and neighbor. If you have any questions ask them. Notes: Segment of code necessary C++ statements to perform the action described not a complete program Program a complete C++ program
More informationCSC 211 Intermediate Programming. Arrays & Pointers
CSC 211 Intermediate Programming Arrays & Pointers 1 Definition An array a consecutive group of memory locations that all have the same name and the same type. To create an array we use a declaration statement.
More informationCPSC 427: Object-Oriented Programming
CPSC 427: Object-Oriented Programming Michael J. Fischer Lecture 7 September 21, 2016 CPSC 427, Lecture 7 1/21 Brackets Example (continued) Storage Management CPSC 427, Lecture 7 2/21 Brackets Example
More information6.096 Introduction to C++ January (IAP) 2009
MIT OpenCourseWare http://ocw.mit.edu 6.096 Introduction to C++ January (IAP) 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. Welcome to 6.096 Lecture
More informationCSC1322 Object-Oriented Programming Concepts
CSC1322 Object-Oriented Programming Concepts Instructor: Yukong Zhang February 18, 2016 Fundamental Concepts: The following is a summary of the fundamental concepts of object-oriented programming in C++.
More informationOutline. 1 Function calls and parameter passing. 2 Pointers, arrays, and references. 5 Declarations, scope, and lifetimes 6 I/O
Outline EDAF30 Programming in C++ 2. Introduction. More on function calls and types. Sven Gestegård Robertz Computer Science, LTH 2018 1 Function calls and parameter passing 2 Pointers, arrays, and references
More informationInheritance, and Polymorphism.
Inheritance and Polymorphism by Yukong Zhang Object-oriented programming languages are the most widely used modern programming languages. They model programming based on objects which are very close to
More informationIS0020 Program Design and Software Tools Midterm, Fall, 2004
IS0020 Program Design and Software Tools Midterm, Fall, 2004 Name: Instruction There are two parts in this test. The first part contains 22 questions worth 40 points you need to get 20 right to get the
More informationChapter 7 - Notes User-Defined Functions II
Chapter 7 - Notes User-Defined Functions II I. VOID Functions ( The use of a void function is done as a stand alone statement.) A. Void Functions without Parameters 1. Syntax: void functionname ( void
More informationENERGY 211 / CME 211. Functions
ENERGY 211 / CME 211 Lecture 8 October 8, 2008 1 Functions So far, we have seen programs in which all code resides within a main function Complex programs consist of subprograms that perform particular
More informationCS1622. Semantic Analysis. The Compiler So Far. Lecture 15 Semantic Analysis. How to build symbol tables How to use them to find
CS1622 Lecture 15 Semantic Analysis CS 1622 Lecture 15 1 Semantic Analysis How to build symbol tables How to use them to find multiply-declared and undeclared variables. How to perform type checking CS
More informationC11: Garbage Collection and Constructors
CISC 3120 C11: Garbage Collection and Constructors Hui Chen Department of Computer & Information Science CUNY Brooklyn College 10/5/2017 CUNY Brooklyn College 1 Outline Recap Project progress and lessons
More informationClasses, The Rest of the Story
Classes, The Rest of the Story 1 1. Is the following syntax legal in Java: class MyException extends Exception { class Test { static void f( ) throws MyException { throw MyException(); // (A) public static
More informationCSE143 Exam with answers MIDTERM #1, 1/26/2001 Problem numbering may differ from the test as given.
CSE143 Exam with answers MIDTERM #1, 1/26/2001 Problem numbering may differ from the test as given. All multiple choice questions are equally weighted. You can generally assume that code shown in the questions
More informationClasses in C++98 and C++11
Classes in C++98 and C++11 January 10, 2018 Brian A. Malloy Slide 1 of 38 1. When we refer to C++98, we are referring to C++98 and C++03, since they differ only slightly. C++98 contained 3 types of constructors,
More informationChapter 9: Pointers. Copyright 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved.
Chapter 9: Pointers 9.1 Getting the Address of a Variable Getting the Address of a Variable Each variable in program is stored at a unique address Use address operator & to get address of a variable: int
More informationChapter 9: Getting the Address of a Variable. Something Like Pointers: Arrays. Pointer Variables 8/23/2014. Getting the Address of a Variable
Chapter 9: Pointers 9.1 Getting the Address of a Variable Getting the Address of a Variable Each variable in program is stored at a unique address Use address operator & to get address of a variable: int
More informationWeek 3: Pointers (Part 2)
Advanced Programming (BETC 1353) Week 3: Pointers (Part 2) Dr. Abdul Kadir abdulkadir@utem.edu.my Learning Outcomes: Able to describe the concept of pointer expression and pointer arithmetic Able to explain
More informationPointers II. Class 31
Pointers II Class 31 Compile Time all of the variables we have seen so far have been declared at compile time they are written into the program code you can see by looking at the program how many variables
More informationJava Basic Syntax. Java vs C++ Wojciech Frohmberg / OOP Laboratory. Poznan University of Technology
Java vs C++ 1 1 Department of Computer Science Poznan University of Technology 2012.10.07 / OOP Laboratory Outline 1 2 3 Outline 1 2 3 Outline 1 2 3 Tabular comparizon C++ Java Paradigm Procedural/Object-oriented
More informationPIC 10A Pointers, Arrays, and Dynamic Memory Allocation. Ernest Ryu UCLA Mathematics
PIC 10A Pointers, Arrays, and Dynamic Memory Allocation Ernest Ryu UCLA Mathematics Pointers A variable is stored somewhere in memory. The address-of operator & returns the memory address of the variable.
More informationCS 376b Computer Vision
CS 376b Computer Vision 09 / 25 / 2014 Instructor: Michael Eckmann Today s Topics Questions? / Comments? Enhancing images / masks Cross correlation Convolution C++ Cross-correlation Cross-correlation involves
More informationObject Oriented Programming COP3330 / CGS5409
Object Oriented Programming COP3330 / CGS5409 Classes & Objects DDU Design Constructors Member Functions & Data Friends and member functions Const modifier Destructors Object -- an encapsulation of data
More informationFORM 2 (Please put your name and form # on the scantron!!!!) CS 161 Exam II:
FORM 2 (Please put your name and form # on the scantron!!!!) CS 161 Exam II: True (A)/False(B) (2 pts each): 1. The declaration below declares three pointer variables of type pointer to double that is
More informationCHAPTER 4 FUNCTIONS. 4.1 Introduction
CHAPTER 4 FUNCTIONS 4.1 Introduction Functions are the building blocks of C++ programs. Functions are also the executable segments in a program. The starting point for the execution of a program is main
More informationC++ Programming Lecture 7 Software Engineering Group
C++ Programming Lecture 7 Software Engineering Group Philipp D. Schubert Contents 1. Template metaprogramming 2. Variadic template arguments 3. Smart pointer Template metaprogramming Template metaprogramming
More informationIntroduction to C++ Part II. Søren Debois. Department of Theoretical Computer Science IT University of Copenhagen. September 12th, 2005
Introduction to C++ Part II Søren Debois Department of Theoretical Computer Science IT University of Copenhagen September 12th, 2005 Søren Debois (Theory, ITU) Introduction to C++ September 12th, 2005
More informationPointers and Terminal Control
Division of Mathematics and Computer Science Maryville College Outline 1 2 3 Outline 1 2 3 A Primer on Computer Memory Memory is a large list. Typically, each BYTE of memory has an address. Memory can
More informationComputer Components. Software{ User Programs. Operating System. Hardware
Computer Components Software{ User Programs Operating System Hardware What are Programs? Programs provide instructions for computers Similar to giving directions to a person who is trying to get from point
More informationthe gamedesigninitiative at cornell university Lecture 6 C++: Basics
Lecture 6 C++: Basics So You Think You Know C++ Most of you are experienced Java programmers Both in 2110 and several upper-level courses If you saw C++, was likely in a systems course Java was based on
More informationPointers and Arrays CS 201. This slide set covers pointers and arrays in C++. You should read Chapter 8 from your Deitel & Deitel book.
Pointers and Arrays CS 201 This slide set covers pointers and arrays in C++. You should read Chapter 8 from your Deitel & Deitel book. Pointers Powerful but difficult to master Used to simulate pass-by-reference
More informationFast Introduction to Object Oriented Programming and C++
Fast Introduction to Object Oriented Programming and C++ Daniel G. Aliaga Note: a compilation of slides from Jacques de Wet, Ohio State University, Chad Willwerth, and Daniel Aliaga. Outline Programming
More information04-19 Discussion Notes
04-19 Discussion Notes PIC 10B Spring 2018 1 Constructors and Destructors 1.1 Copy Constructor The copy constructor should copy data. However, it s not this simple, and we need to make a distinction here
More informationChapter 8. Operator Overloading, Friends, and References. Copyright 2010 Pearson Addison-Wesley. All rights reserved
Chapter 8 Operator Overloading, Friends, and References Copyright 2010 Pearson Addison-Wesley. All rights reserved Learning Objectives Basic Operator Overloading Unary operators As member functions Friends
More informationLecture 7: Binding Time and Storage
Lecture 7: Binding Time and Storage COMP 524 Programming Language Concepts Stephen Olivier February 5, 2009 Based on notes by A. Block, N. Fisher, F. Hernandez-Campos, and D. Stotts Goal of Lecture The
More informationObject-Oriented Principles and Practice / C++
Object-Oriented Principles and Practice / C++ Alice E. Fischer September 26, 2016 OOPP / C++ Lecture 4... 1/33 Global vs. Class Static Parameters Move Semantics OOPP / C++ Lecture 4... 2/33 Global Functions
More informationRecap: Pointers. int* int& *p &i &*&* ** * * * * IFMP 18, M. Schwerhoff
Recap: Pointers IFMP 18, M. Schwerhoff int* int& *p &i &*&* ** * * * * A 0 A 1 A 2 A 3 A 4 A 5 A 0 A 1 A 2 A 3 A 4 A 5 5 i int* p; A 0 A 1 A 2 A 3 A 4 A 5 5 i p int* p; p = &i; A 0 A 1 A 2 A 3 A 4 A 5
More information9.2 Pointer Variables. Pointer Variables CS Pointer Variables. Pointer Variables. 9.1 Getting the Address of a. Variable
CS 1400 Chapter 9 9.1 Getting the Address of a Variable A variable has: Name Value Location in a memory Type The location in memory is an address Use address operator & to get address of a variable: int
More informationObject Oriented Programming in C#
Introduction to Object Oriented Programming in C# Class and Object 1 You will be able to: Objectives 1. Write a simple class definition in C#. 2. Control access to the methods and data in a class. 3. Create
More informationCSE 333 Midterm Exam July 24, Name UW ID#
Name UW ID# There are 6 questions worth a total of 100 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes,
More informationExam 3 Chapters 7 & 9
Exam 3 Chapters 7 & 9 CSC 2100-002/003 29 Mar 2017 Read through the entire test first BEFORE starting Put your name at the TOP of every page The test has 4 sections worth a total of 100 points o True/False
More informationObject Oriented Software Design II
Object Oriented Software Design II Introduction to C++ Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 20, 2012 G. Lipari (Scuola Superiore Sant Anna) C++ Intro February
More informationReference Parameters A reference parameter is an alias for its corresponding argument in the function call. Use the ampersand (&) to indicate that
Reference Parameters There are two ways to pass arguments to functions: pass-by-value and pass-by-reference. pass-by-value A copy of the argument s value is made and passed to the called function. Changes
More informationTemplate Issue Resolutions from the Stockholm Meeting
96-0153/N0971 Template Issue Resolutions from the Stockholm Meeting 1 X3J16/96-0153 WG21/N0971 July 9 th, 1996 John H. Spicer, Edison Design Group Template Issue Resolutions from the Stockholm Meeting
More informationC and C++ I. Spring 2014 Carola Wenk
C and C++ I Spring 2014 Carola Wenk Different Languages Python sum = 0 i = 1 while (i
More informationWelcome Back. CSCI 262 Data Structures. Hello, Let s Review. Hello, Let s Review. How to Review 1/9/ Review. Here s a simple C++ program:
Welcome Back CSCI 262 Data Structures 2 - Review What you learned in CSCI 261 (or equivalent): Variables Types Arrays Expressions Conditionals Branches & Loops Functions Recursion Classes & Objects Streams
More informationSee the CS 2704 notes on C++ Class Basics for more details and examples. Data Structures & OO Development I
Polynomial Class Polynomial(); Polynomial(const string& N, const vector& C); Polynomial operator+(const Polynomial& RHS) const; Polynomial operator-(const Polynomial& RHS) const; Polynomial operator*(const
More informationHomework 6. Yuji Shimojo CMSC 330. Instructor: Prof. Reginald Y. Haseltine
Homework 6 Yuji Shimojo CMSC 330 Instructor: Prof. Reginald Y. Haseltine July 21, 2013 Question 1 What is the output of the following C++ program? #include #include using namespace
More informationC10: Garbage Collection and Constructors
CISC 3120 C10: Garbage Collection and Constructors Hui Chen Department of Computer & Information Science CUNY Brooklyn College 3/5/2018 CUNY Brooklyn College 1 Outline Recap OOP in Java: composition &
More informationCSE 307: Principles of Programming Languages
CSE 307: Principles of Programming Languages Variables and Constants R. Sekar 1 / 22 Topics 2 / 22 Variables and Constants Variables are stored in memory, whereas constants need not be. Value of variables
More informationPointers and References
Steven Zeil October 2, 2013 Contents 1 References 2 2 Pointers 8 21 Working with Pointers 8 211 Memory and C++ Programs 11 212 Allocating Data 15 22 Pointers Can Be Dangerous 17 3 The Secret World of Pointers
More information