Differences

This shows you the differences between two versions of the page.

Link to this comparison view

teaching:oop-2011 [2012-03-12 13:37]
teaching:oop-2011 [2015-09-11 13:43]
Line 1: Line 1:
-====== Object-oriented Programming (Winter Term 2011/12) ====== 
  
-| Lecturer ​       | **[[staff:​gutwenger|Dr. Carsten Gutwenger]]** ​                                 | 
-| Major           | **[[http://​www.automationrobotics.uni-dortmund.de/​|M.Sc. Automation & Robotics]]** | 
-| Course Number ​  | **[[https://​www.lsf.uni-dortmund.de/​qisserver/​rds?​state=verpublish&​status=init&​vmfile=no&​publishid=109663&​moduleCall=webInfo&​publishConfFile=webInfo&​publishSubDir=veranstaltung|048014]]** | 
-| Semester ​       | First                                                                          | 
-| Type / SWS / CP | Lab course / 3 SWS / 3 CP                                                      | 
-| Language ​       | English ​                                                                       | 
- 
-[[https://​plus.google.com/​106422086393783942209/​|{{ :​staff:​gutwenger:​gpln.png?​nolink&​|}}]] 
- 
-I will publish news about this course (e.g. new stuff on the web site etc.) in my [[https://​plus.google.com/​106422086393783942209/​|Google+ stream]], shared with a particular circle of mine. 
-If you want to follow this stream, I need to add you to this circle (otherwise you cannot see these news in your stream). Just send me an email. 
-===== Location and Time ===== 
- 
-The course takes place in the [[http://​www.retina.e-technik.tu-dortmund.de/​cms/​de/​Home/​index.html|Retina pool]], room P1-101-108b (Otto-Hahn-Str. 8). 
- 
-  * Group 1: Tuesday, 10:30-12:45 
-  * Group 2: Tuesday, 13:30-15:45 
- 
-In both groups [[http://​ess.cs.tu-dortmund.de/​Staff/​orwa/​|Orwa Nassour]] will also be there as a tutor to help you. 
- 
- 
-===== Final Exam ===== 
- 
-The final exam takes place on January 31. Here you will find all relevant information:​ 
- 
-  * You are **qualified** for the final exam, if you have passed at least **three exam sheets**; no further registration is necessary (**{{:​teaching:​oop2011:​qualified.pdf|list of qualified students}}**). 
- 
-  * The final exam takes place in the **Retina pool** at the usual times for the lecture. There will be two groups (**A** 10:30-12:30 and **B** 13:​30-15:​30). For the first group we will have both pool rooms (108a and 108b), therefore some students of the second group will have to come to the morning session; see the **{{:​teaching:​oop2011:​groups.pdf|group assignment}}**. 
- 
-  * The two groups will (of course) get different, but equally difficult exercises. 
-  * You will have to show a **student ID** and a **passport**,​ so we can check who you are. 
-  * You are only allowed to use the **printed lecture slides** (best print them 6 slides per page) and a pen. We will provide paper. No further material is allowed, in particular no hand-written notes, no solutions to assignment or exam sheets, or any other source code. No laptops, no mobile phones! Breaking these rules will be considered as cheating and result in failing the exam. 
-  * The exercises will be similar as the tasks in the assignment and exam sheets, but of course not as complex, and they will not require to write so much code (e.g. parts of the code will be given). 
- 
-**{{:​teaching:​oop2011:​results-final-exam.pdf|The results}}** of the final exam (Jan 31) can be found in this list. It shows the points per exercise (max. 1 point), the total points, and if you passed (at least 2 points) or failed. 
-70.6% have passed the exam (60 out of 85). 
- 
-Here are the **solutions** to the final exams: 
-  * {{:​teaching:​oop2011:​final-exam-a-solution.pdf|Group A}} 
-  * {{:​teaching:​oop2011:​final-exam-b-solution.pdf|Group B}} 
- 
-==== Second Attempt ==== 
- 
-There will be a **second attempt**, which takes place on **March 30, 14:00, in Otto-Hahn-Str. 14, room 104**. 
- 
-Qualified are all students who were qualified for the first attempt and failed or did not appear. The relevant topics are the same as for the first attempt. 
-===== Group Assignment ===== 
- 
- 
-==== Group 1 (10:​30-12:​45) ==== 
- 
-| H. Ahmed | S. Al-Rubaye | M. Alsayegh | D. Alshare | M. A. S. Alvi | 
-| T. C. Arslan | A. Asad | S. M. M. Azher | V. Bangalore Nagendra | B. Bilgin | 
-| P. Broujerdi | P. Dank | M. U. Ehsan | M. Elsharkawy | M. E. Er | 
-| A. A. Farook | Y. Fisiha | S. K. Gajjala | H. Harnal | M. E. M. Hassan | 
-| M. M. Ihsan | M. H. Iqbal | S. S. Kulkarni | N. Liu | H. Mahadevaiah | 
-| A. Martinez Garcia | M. K. Mehmood | T. Mehta | L. Migdadi | M. Mohammadi Parsa | 
-| Z. Nazir | M. Nejati | A. Oster | H. Patel | S. Patel | 
-| S. Qa´adan | M. A. Saeed | N. Schafer | S. Sutradhar | M. Taghavi | 
-| A. Tatulea Codrean | B. Tor | S. T. Turesay | S. Wan | C. Yildiz | 
-| C. You | 
- 
- 
-==== Group 2 (13:​30-15:​45) ==== 
- 
-| A. Ahmad Yousuf | R. Aymaz | P. R. Bhat | S. Damodaran | D. Desai | 
-| M. A. Galván Mendoza | S. Gopinathan Asari Sujatha | S. C. Govindasamy Ramamoorthy | V. Hariharan | A. Harur Manoharan | 
-| V. Indalkar | R. Ismail | D. H. Jani | P. Khobkhun | A. Krishnaswamy Rangarajan | 
-| W. Li | Y. Li | R. Marishettihally Basavarajappa | I. A. Marta | S. S. Mudda | 
-| M. K. Murugaiah | M. Nandakumar | K. Narayanan | Q. Navid | M. Noman | 
-| A. N. Patel | A. V. Patel | N. Patel | R. Patel | A. Pithadiya | 
-| K. Radhakrishnan | B. Raja | S. Sandhu | V. Selvantarajan | N. Shaik | 
-| P. Shen | S. Shete | M. R. Sukhadia | Y. Sun | S. Thennilapuram Subramanian | 
-| V. Thota | A. Ul Jabbar | V. Vora | 
- 
-===== Content ===== 
- 
-In this course, you will learn 
-  * the programming language C++, 
-  * the principles of object-oriented programming,​ and 
-  * using a programming environment (Visual Studio) for writing C++ programs. 
- 
- 
-===== Suggested Reading and Web Links ===== 
- 
-==== Books ==== 
- 
-  * **Practical C++ Programming** by Steve Oualline, 2nd edition, O'​Reilly Media, 2003\\ [[http://​proquest.safaribooksonline.com/​0596004192|accessible online only from within the  TU Dortmund network]] 
- 
-  * **C++ Primer** by Stanley B. Lippman, Josée Lajoie, Barbara E. Moo, 4th edition, Addison-Wesley Professional,​ 2005 \\ [[http://​proquest.safaribooksonline.com/​0201721481|accessible online only from within the  TU Dortmund network]] 
- 
-  * **Exploring C++: The Programmer'​s Introduction to C++ ** by Ray Lischner, 1st edition, Apress, 2008 
- 
- 
-==== Online References ==== 
- 
-  * C++ reference at [[http://​www.cplusplus.com/​reference/​|cplusplus.com]]\\ It is also worth reading the [[http://​www.cplusplus.com/​doc/​tutorial/​|tutorial]] at cplusplus.com. 
-  * C++ reference at [[http://​en.cppreference.com/​w/​cpp|cppreference.com]] 
-  * [[http://​msdn.microsoft.com/​en-us/​library/​60k1461a(v=VS.90).aspx|Visual Studio 2008]] (online documentation at MSDN) 
- 
-==== Software ==== 
- 
-  * [[http://​www.microsoft.com/​visualstudio/​en-us/​products/​2010-editions/​visual-cpp-express|Visual Studio C++ 2010 Express Edition]]\\ You can download and install Visual C++ 2010 Express for free and use it at home. 
-    
-  * Visual Studio via MSNDAA (Microsoft Developer Network Academic Alliance)\\ [[http://​www.retina.e-technik.tu-dortmund.de/​cms/​de/​Softwareserver/​index.html|This page]] explains how to obtain MSDNAA software with your Retina pool account (unfortunately in German). Basically, you need to request the //Student User Agreement// [[http://​www.retina.e-technik.tu-dortmund.de/​cms/​de/​Softwareserver/​Lizenzvertrag_anfordern/​index.html|here]],​ which you then get by email, print it and sign it, and then go to room P1-E0-314. They will then activate your access on the [[http://​www.retina.e-technik.tu-dortmund.de/​cms/​de/​Softwareserver/​Zum_Softwareserver/​index.html|software server]], where you can download e.g. Visual Studio .iso images. 
- 
-  * MacOS users: If you just want to write C++ programs at home, you can use MacOS' own development environment [[http://​developer.apple.com/​technologies/​|XCode]]. In order to use Visual Studio on MacOS, you need to run it in a virtual machine. 
- 
-===== Material ===== 
- 
-You will find here all the slides as well as assignment and exam sheets (including solutions for assignment sheets). 
- 
-==== Lectures ==== 
- 
-^  No  ^  Date  ^ Topics ​ ^ Slides ​ ^ Source Code  ^  
-|  1   | Oct 11 | **Welcome and Organization** | {{:​teaching:​oop2011:​oop-01.pdf|slides}} | | 
-|      |        | Creation of pool accounts ​   |  | | 
-|      |        | "Hello World!"​ project ​      ​| ​ | {{:​teaching:​oop2011:​l1_hello_world.cpp|hello_world.cpp}} | 
-|  2   | Oct 18 | **Variables and Simple Control Structures** ​ | {{:​teaching:​oop2011:​oop-02.pdf|slides}} | | 
-|      |        | Variables and assignments | | | 
-|      |        | Printing and reading data | | {{:​teaching:​oop2011:​l2_reading_data.cpp|reading_data.cpp}} | 
-|      |        | **if**-**else** statements, **while**-loops | | {{:​teaching:​oop2011:​l2_printing_numbers.cpp|printing_numbers.cpp}} | 
-|  3   | Oct 25 | **Loops and Strings** | {{:​teaching:​oop2011:​oop-03.pdf|slides}} | | 
-|      |        | **do**-**while**- and **for**-loops | | {{:​teaching:​oop2011:​l3_sum_up.cpp|sum_up.cpp}} | 
-|      |        | **break** and **continue** | | | 
-|      |        | C++ strings and the **bool** data type | | | 
-|      |        | Output formatting with manipulators | | {{:​teaching:​oop2011:​l3_formatting_output.cpp|formatting_output.cpp}} | 
-|  4   | Nov 08 | **Vectors and Scope** ​  | {{:​teaching:​oop2011:​oop-04.pdf|slides}} | | 
-|      |        | Floating point numbers | | {{:​teaching:​oop2011:​l4_printing_floats.cpp|printing_floats.cpp}} | 
-|      |        | Increment and decrement operators | | {{:​teaching:​oop2011:​l4_pre_vs_post.cpp|pre_vs_post.cpp}} | 
-|      |        | C++ vectors | | {{:​teaching:​oop2011:​l4_vectors.cpp|vectors.cpp}} {{:​teaching:​oop2011:​l4_fib_vectors.cpp|fib_vectors.cpp}} {{:​teaching:​oop2011:​l4_sort_vector.cpp|sort_vector.cpp}} | 
-|      |        | Scope and lifetime of variables | | {{:​teaching:​oop2011:​l4_nested_scope.cpp|nested_scope.cpp}} | 
-|  5   | Nov 15 | **File I/O and Maps** ​  | {{:​teaching:​oop2011:​oop-05.pdf|slides}} | | 
-|      |        | File I/O and characters ​ | | {{:​teaching:​oop2011:​l5_reading_file.cpp|reading_file.cpp}} {{:​teaching:​oop2011:​l5_writing_file.cpp|writing_file.cpp}} | 
-|      |        | C++ maps | | {{:​teaching:​oop2011:​l5_maps.cpp|maps.cpp}} | 
-|      |        | Type definitions,​ constants | | | 
-|      |        | Types of integers and the sizeof operator | | {{:​teaching:​oop2011:​l5_sizeof.cpp|sizeof.cpp}} | 
-|  6   | Nov 22 | **Functions and References** ​  | {{:​teaching:​oop2011:​oop-06.pdf|slides}} ​ | | 
-|      |        | Functions | | {{:​teaching:​oop2011:​l6_power.cpp|power.cpp}} {{:​teaching:​oop2011:​l6_nested_calls.cpp|nested_calls.cpp}} {{:​teaching:​oop2011:​l6_flow_of_control.cpp|flow_of_control.cpp}} | 
-|      |        | References | | {{:​teaching:​oop2011:​l6_swap.cpp|swap.cpp}} {{:​teaching:​oop2011:​l6_print_vector.cpp|print_vector.cpp}} | 
-|      |        | **switch** statements | | {{:​teaching:​oop2011:​l6_switch.cpp|switch.cpp}} | 
-|  7   | Nov 29 | **Function Overloading** ​ | {{:​teaching:​oop2011:​oop-07.pdf|slides}} | 
-|      |        | Type Conversion | | | 
-|      |        | Comma Operator ​ | | {{:​teaching:​oop2011:​l7_comma.cpp|comma.cpp}} | 
-|      |        | Function overloading | | {{:​teaching:​oop2011:​l7_overloading_max.cpp|overloading_max.cpp}} {{:​teaching:​oop2011:​l7_overloading_print.cpp|overloading_print.cpp}} | 
-|  8   | Dec 06 | **Custom Types** ​  | {{:​teaching:​oop2011:​oop-08.pdf|slides}} ​ | 
-|      |        | Structures | | | 
-|      |        | Operator overloading | | {{:​teaching:​oop2011:​l8_point.cpp|point.cpp}} | 
-|  9   | Dec 13 | **Access Control and Inheritance** ​ | {{:​teaching:​oop2011:​oop-09.pdf|slides}} | 
-|      |        | **public** and **private** | | 
-|      |        | Inheritance ​  | | {{:​teaching:​oop2011:​l9_employee.cpp|employee.cpp}} | 
-|      |        | Class Hierarchies | | {{:​teaching:​oop2011:​l9_hierarchy.cpp|hierarchy.cpp}} | 
-|  10  | Dec 20 | **Pointers and Polymorphism** ​ | {{:​teaching:​oop2011:​oop-10.pdf|slides}} | | 
-|      |        | Constructors,​ destructors and assignment | | 
-|      |        | Pointers | | 
-|      |        | Virtual and pure virtual functions | | {{:​teaching:​oop2011:​l10_redefine.cpp|redefine.cpp}} {{:​teaching:​oop2011:​l10_virtual.cpp|virtual.cpp}} {{:​teaching:​oop2011:​l10_draw.cpp|draw.cpp}} | 
-|  11  | Jan 10 | **Memory Management** ​  | {{:​teaching:​oop2011:​oop-11.pdf|slides}} | | 
-|      |        | Static and global variables | | {{:​teaching:​oop2011:​l11_static.cpp|static.cpp}} {{:​teaching:​oop2011:​l11_global.cpp|global.cpp}} | 
-|      |        | Static data members | | {{:​teaching:​oop2011:​l11_static_data_members.cpp|static_data_members.cpp}} | 
-|      |        | Dynamic memory allocation | | {{:​teaching:​oop2011:​l11_slist.cpp|slist.cpp}} | 
-|  12  | Jan 17 | **How to debug programs with Visual Studio** ​  | {{:​teaching:​oop2011:​oop-12.pdf|slides}} | | 
-|  13  | Jan 24 | **Smart pointers and Function Objects** ​  | {{:​teaching:​oop2011:​oop-13.pdf|slides}} | | 
-|      |        | Smart pointers | | {{:​teaching:​oop2011:​l13_unique_ptr.cpp|unique_ptr.cpp}} {{:​teaching:​oop2011:​l13_shared_ptr.cpp|shared_ptr.cpp}} | 
-|      |        | Function objects | | {{:​teaching:​oop2011:​l13_functor.cpp|functor.cpp}} {{:​teaching:​oop2011:​l13_sort.cpp|sort.cpp}} {{:​teaching:​oop2011:​l13_is_odd.cpp|is_odd.cpp}} | 
- 
-For the topics we consider in the last two lectures, there was a [[https://​plus.google.com/​u/​0/​106422086393783942209/​posts/​dgRUjudSFdd|voting on Google+]]. 
- 
- 
-==== Assignments ==== 
- 
-^  No  ^  Date  ^  Sheet  ^ Additional Files and Solutions ^ 
-|  1   | Oct 18 |  {{:​teaching:​oop2011:​oop-assignment_01.pdf|sheet 01}}  | {{:​teaching:​oop2011:​solution_1_1.cpp|}} {{:​teaching:​oop2011:​solution_1_2.cpp|}} {{:​teaching:​oop2011:​solution_1_3.cpp|}} {{:​teaching:​oop2011:​solution_1_4.cpp|}} {{:​teaching:​oop2011:​solution_1_5.cpp|}} ​ | 
-|  2   | Oct 25 |  {{:​teaching:​oop2011:​oop-assignment_02.pdf|sheet 02}}  | {{:​teaching:​oop2011:​solution_2_1.cpp|}} {{:​teaching:​oop2011:​solution_2_2.cpp|}} {{:​teaching:​oop2011:​solution_2_3.cpp|}} | 
-|  3   | Nov 08 |  {{:​teaching:​oop2011:​oop-assignment_03.pdf|sheet 03}}  | {{:​teaching:​oop2011:​solution_3_1.cpp|}} {{:​teaching:​oop2011:​solution_3_2.cpp|}} {{:​teaching:​oop2011:​solution_3_3.cpp|}} {{:​teaching:​oop2011:​solution_3_4.cpp|}} | 
-|  4   | Nov 15 |  {{:​teaching:​oop2011:​oop-assignment_04.pdf|sheet 04}}  | {{:​teaching:​oop2011:​desiredsignal.txt|}} {{:​teaching:​oop2011:​measuredsignal.txt|}} {{:​teaching:​oop2011:​words.txt|}} {{:​teaching:​oop2011:​grades.txt|}} | 
-|      |        |    | {{:​teaching:​oop2011:​solution_4_1.cpp|}} {{:​teaching:​oop2011:​solution_4_2.cpp|}} {{:​teaching:​oop2011:​solution_4_3.cpp|}} {{:​teaching:​oop2011:​solution_4_4.cpp|}} | 
-|  5   | Nov 22 |  {{:​teaching:​oop2011:​oop-assignment_05.pdf|sheet 05}}  | {{:​teaching:​oop2011:​solution_5_1.cpp|}} {{:​teaching:​oop2011:​solution_5_2.cpp|}} {{:​teaching:​oop2011:​solution_5_3.cpp|}} | 
-|  6   | Nov 29 |  {{:​teaching:​oop2011:​oop-assignment_06.pdf|sheet 06}}  | {{:​teaching:​oop2011:​solution_6_1.cpp|}} {{:​teaching:​oop2011:​solution_6_2.cpp|}} {{:​teaching:​oop2011:​solution_6_3.cpp|}} {{:​teaching:​oop2011:​solution_6_4.cpp|}} | 
-|  7   | Dec 06 |  {{:​teaching:​oop2011:​oop-assignment_07.pdf|sheet 07}}  | {{:​teaching:​oop2011:​solution_7_1.cpp|}} {{:​teaching:​oop2011:​solution_7_2.cpp|}} {{:​teaching:​oop2011:​exercise_7_3.zip|}} | 
-|  8   | Dec 13 |  {{:​teaching:​oop2011:​oop-assignment_08.pdf|sheet 08}}  | {{:​teaching:​oop2011:​solution_8_1.cpp|}} {{:​teaching:​oop2011:​solution_8_2.cpp|}} ​ | 
-|  9   | Dec 20 |  {{:​teaching:​oop2011:​oop-assignment_09.pdf|sheet 09}}  | {{:​teaching:​oop2011:​solution_9_1.cpp|}} {{:​teaching:​oop2011:​solution_9_2.cpp|}} {{:​teaching:​oop2011:​solution_9_3.cpp|}} | 
-|  10  | Jan 10 |  {{:​teaching:​oop2011:​oop-assignment_10.pdf|sheet 10}}  | {{:​teaching:​oop2011:​solution_10_1.cpp|}} {{:​teaching:​oop2011:​solution_10_2.cpp|}} {{:​teaching:​oop2011:​solution_10_3.cpp|}} | 
-|  11  | Jan 17 |  {{:​teaching:​oop2011:​oop-assignment_11.pdf|sheet 11}}  |    | 
-|  12  | Jan 24 |  {{:​teaching:​oop2011:​oop-assignment_12.pdf|sheet 12}}  |    | 
- 
- 
-==== Exam Sheets ==== 
- 
-^  No  ^  Date  ^  Due   ​^ ​ Sheet  ^ Solutions ​ ^ 
-|  1   | Oct 25 | Nov 08 |  {{:​teaching:​oop2011:​oop-exam_01.pdf|exam sheet 1}}  | 
-|  2   | Nov 22 | Nov 29 |  {{:​teaching:​oop2011:​oop-exam_02.pdf|exam sheet 2}}  | 
-|  3   | Dec 13 | Dec 20 |  {{:​teaching:​oop2011:​oop-exam_03.pdf|exam sheet 3}}  | {{:​teaching:​oop2011:​exam_3_1.cpp|}} {{:​teaching:​oop2011:​exam_3_2.cpp|}} {{:​teaching:​oop2011:​exam_3_3.cpp|}} | 
-|  4   | Jan 17 | Jan 24 |  {{:​teaching:​oop2011:​oop-exam_04.pdf|exam sheet 4}}  | {{:​teaching:​oop2011:​exam_4_1.cpp|}} {{:​teaching:​oop2011:​exam_4_2.cpp|}} {{:​teaching:​oop2011:​exam_4_3.cpp|}} | 
- 
-  * The {{:​teaching:​oop2011:​exams.pdf|current results}} of the exams (Jan 09).\\ You need 3 positive exams (≥ 3 in the last column) for being allowed to write the final exam. 
-===== Visual C++: Problems and Solutions ===== 
- 
-When using Visual Studio on the Retina pool computers, there are some problems occurring quite frequently. Here, I describe some of them along with solutions to fix them. 
- 
-==== You did not choose "​Visual C++ Development Settings"​ when starting Visual Studio for the first time ==== 
- 
-This might result in a setup of the development environment that is not the best for C++ projects. These settings affect many parts of the development environment,​ including window layout, menus, and shortcuts. In order to reset your current settings to the recommended "​Visual C++ Development Settings",​ proceed as follows (see also [[http://​msdn.microsoft.com/​en-us/​library/​f1z20s6z(v=VS.90).aspx|MSDN Help]]): 
- 
-  - On the **Tools** menu, choose **Import and Export Settings** 
-  - In the dialog, click **Import selected environment settings** and then click Next. 
-  - You can then save your current settings, but that's not necessary. 
-  - Choose the "​Visual C++ Development Settings"​ and proceed. 
- 
-==== When you run your program from the Visual Studio environment,​ a strange warning concerning the path appears ==== 
- 
-This warning appears, when Visual Studio tries to set the current path to the directory in which your project lies. If this fails, this warning appears and the current path is set to some default (the Windows directory I guess). The program, however, is started and works fine. This warning message is annoying, but you only have a problem if, e.g, you want to load and store files and assume these files are located in your project directory (without using a full path name). 
- 
-The source of this problem is that your home directory is mounted as a network share, and by default a path name starting with ''"​%%//​pool-server03.retina...%%"''​ is used as the  directory, in which your project directory is placed. You can simply fix this problem by changing this path name when you create a project. Use the drive letter R: which refers to your home directory, so use a path name that starts with ''​R:​\Visual Studio 2008\Projects''​. 
- 
- 
-==== When you start a program an error occurs since msvcr90d.dll could not be found ==== 
- 
-This error occurs occasionally,​ when you build your program in **Debug** configuration (which is the default). It does not occur in **Release** configuration. 
- 
-The problem seems again be caused by the fact that home directories are mounted as network shares. A fix that seems to work is to disable incremental linking. You can do this as follows (see also [[http://​msdn.microsoft.com/​en-US/​library/​4khtbfyf(v=VS.90).aspx|MSDN Help]]): 
- 
-  - Open the project'​s **Property Pages** dialog box. 
-  - Click the **Linker** folder. 
-  - Click the **General** property page. 
-  - Modify the **Enable Incremental Linking** property (set it to **/​INCREMENTAL:​NO**). 
- 
-If you do this, you will get a warning when building your program which tells you that Edit and Continue is enabled but incremental linking is disabled. You can then switch off Edit and Continue as follows (see also [[http://​msdn.microsoft.com/​en-us/​library/​7yty6a48(v=VS.90).aspx|MSDN Help]]): 
- 
-  - On the **Tools menu**, click **Options**. 
-  - In the Options dialog box, open the **Debugging** node, and select the **Edit and Continue** category. 
-  - To disable, clear the check box. 
-  - Click **OK**. 
- 
- 
-==== Do I have to create a new project for every program / exercise? ==== 
- 
-When you work on an assignment / exam sheet, you have to write many little programs, so the question arises how to do this task with the least effort. 
- 
-When you create a new project as explained in the first lecture, you actually will create a new solution with a new project. 
-You can see all the items in the currently open solution with the solution explorer (showing an explorer-like tree-view). 
-In fact you can have several projects (programs) within one solution, so there is no need to create a new solution for every little program. 
-To add a new project to the currently open solution, proceed as follows (see also [[http://​msdn.microsoft.com/​en-us/​library/​h970wzkb(v=VS.90).aspx|MSDN Help]]): 
- 
-  - In Solution Explorer, right-click on the solution (root item of the tree) and select **Add** and **New Project**. 
-  - Proceed as usual for creating a new project (select project type and template, ...) 
- 
-Once you have several projects in a solution, you will realize that always one project is shown in bold face. 
-This project is the program that will be started when you select **Start** or **Start without Debugging** from the menu. 
-If you want to have a different project as start-up project, right click on the project and select **Set as StartUp Project** (see also [[http://​msdn.microsoft.com/​en-us/​library/​a1awth7y(v=VS.90).aspx|MSDN Help]]). 
- 
- 
- 
-==== You accidentally selected as project type Win32 Application ==== 
- 
-If you accidentally choose **Win32 Application** instead of **Win32 Console Application** as project type, you will get a compiler error 
-about an undefined //WinMain// function. Instead of creating a whole new project, it suffices to change one linker option: 
- 
-  - Open the project'​s **Property Pages** dialog box. 
-  - Click the **Linker** folder. 
-  - Click the **System** property page. 
-  - Modify the **SubSystem** property: set it to **Console (/​SUBSYSTEM:​CONSOLE)**). 
- 
-If you use both Debug and Release configurations,​ you have to change it for both configurations. 
- 
- 
-===== Interesting Google+ Posts ===== 
- 
-My posts on [[https://​plus.google.com|Google+]] about this course are marked with [[https://​plus.google.com/​u/​0/​s/​%23cgOOP|#​cgOOP]]. You must be logged in to see the posts. 
- 
-  * [[https://​plus.google.com/​u/​0/​106422086393783942209/​posts/​cAwJL7RPBdR|Final Exam: Second attempt]] 
- 
-  * [[https://​plus.google.com/​u/​0/​106422086393783942209/​posts/​b8UhvDChMWi|Questions about the final exam]] 
- 
-  * [[https://​plus.google.com/​u/​0/​106422086393783942209/​posts/​dgRUjudSFdd|Topics for the last lectures]] 
- 
-  * Overloaded input and output operators for a ''​vector<​int>'':​ {{:​teaching:​oop2011:​vector_in_out.cpp|}}\\ This input operator allows to enter the elements of the vector separated by whitespace and terminated by pressing return; the output operator simply prints the elements separated by a space character.\\ See also [[https://​plus.google.com/​u/​0/​106422086393783942209/​posts/​U5WKAq6S2jM|Google+ post]]. 
 
Last modified: 2015-09-11 13:43 (external edit)
DokuWikiRSS-Feed