Tsinghua University Video Courseware: Object-oriented Programming (C + +) (autonomous mode)
Course Introduction
C + + is an object-oriented programming language evolved from the development of C language. The object-oriented program design method encapsulates the data and the operation methods of the data as an interdependent and inseparable whole-object. Abstract the common object of the same type, forming a class. Classes are connected to the outside world through external interfaces, and objects communicate with each other through messages. In this way, the relationship between the program modules is simple, the program module independence, data security has a good guarantee, through inheritance and polymorphism, so that the program has a high reusability, making software development and maintenance more convenient.
Due to the outstanding advantages of object-oriented approach, it has become the main method used in the development of large-scale software. The C + + language is one of the most widely used object-oriented programming languages.
This course is an introductory course for beginners and has been opened in Tsinghua University since 1999, and the teaching materials of this course have been used in different professions in more than 100 schools, such as Tsinghua University, and have achieved good results.
In this course, the C + + language is used as an introductory language for college students, which not only introduces the language itself, but also introduces commonly used data structures and algorithms, object-oriented design ideas and programming methods. The course is based on the object-oriented program design method throughout, each chapter is the first elaboration of object-oriented program design ideas and methods, starting from the practical problems, and then lead to the necessary grammatical knowledge, in the interpretation of grammar in the context of programming methodology to tell the meaning and purpose.
This course is the full version of the same name course in Tsinghua University with comprehensive content and difficulty, including new content of ISO third edition C + + standard (c++11).
Xu Mingxing, Ph. D., associate professor. State-level fine curriculum "program Design Basic" course leader, national quality resources Sharing course "computer language and program design" construction leader. The basic course of computer science, such as the foundation of Program design, the foundation of object-oriented programming, the principle of signal processing, etc. As a major member of the preparation of the "Basic Design (3rd edition)" (Tsinghua University Press published) as the general higher education "Twelve-Five" planning materials. He was awarded the first prize of Beijing Higher Education Teaching Excellence, Tsinghua University Young Teachers Teaching Excellence Award, Tsinghua University Qing Yun Candlelight "students favorite teacher" title. The main research interests include: speech recognition and comprehension, affective computing and cross-media computing. At present, as the project leader to undertake the National Natural Science Foundation of 1 projects, as the backbone of the project or sub-subjects involved in the national 973 Projects 1, Natural Science Fund key projects 1, Social Science Fund key projects 1, 863 items 1.
Course Chapters
Directly click on the blog page connection can go to the download page, after the click May pop-up ads page, please amount of solution, click Normal Download. 650) this.width=650; "src="/e/u261/themes/default/images/spacer.gif "style=" Background:url ("/e/u261/lang/zh-cn/ Images/localimage.png ") no-repeat center;border:1px solid #ddd;" alt= "Spacer.gif"/>650 "this.width=650;" src= " Https://s1.51cto.com/oss/201711/16/b0ca67d8eba19644cb48e52aa075d4cc.png-wh_500x0-wm_3-wmp_4-s_3572128843.png " Title= "Qq358.png" alt= "B0ca67d8eba19644cb48e52aa075d4cc.png-wh_"/> click on normal download.
Copy and paste the URL into the browser address bar, there may be ads after the click, please amount of solution, click the Normal download.
http://it-trump.lofter.com/
http://itmooc.blog.163.com/
First lecture introduction and programming environment
1.0 curriculum Orientation, teaching content https://u7765370.pipipan.com/fs/7765370-228351118
1.1.1 Program structure and compile link https://u7765370.pipipan.com/fs/7765370-228351663
1.1.2 Source program Split https://u7765370.pipipan.com/fs/7765370-228352041
1.1.3 multi-File Compile link method https://u7765370.pipipan.com/fs/7765370-228353368
1.2 The command-line arguments of the main function https://u7765370.pipipan.com/fs/7765370-228354105
Homework One https://u7765370.pipipan.com/fs/7765370-228485605
Second lecture basic grammar (1)
2.1 Variable Definition https://u7765370.pipipan.com/fs/7765370-228355259
Initialization of 2.2 variables, type derivation and range-based cyclic https://u7765370.pipipan.com/fs/7765370-228356551
2.3 Function Overloading https://u7765370.pipipan.com/fs/7765370-228357250
2.4 The default value of the function parameter and the function to trace the return type https://u7765370.pipipan.com/fs/7765370-228359875
Definition of Class 2.5 https://u7765370.pipipan.com/fs/7765370-228360654
2.6 Class Members ' access rights and friends https://u7765370.pipipan.com/fs/7765370-228361227
Job Two https://u7765370.pipipan.com/fs/7765370-228486428
The third lecture basic grammar (2)
3.1 Constructor destructor https://u7765370.pipipan.com/fs/7765370-228362750
3.2 Assignment operator overloading https://u7765370.pipipan.com/fs/7765370-228363683
3.3 Stream operator Overloading https://u7765370.pipipan.com/fs/7765370-228364764
3.4 Function Operator Overloading https://u7765370.pipipan.com/fs/7765370-228365649
3.5 subscript operator and auto increment operator overload https://u7765370.pipipan.com/fs/7765370-228366774
3.6 Static members and constant members https://u7765370.pipipan.com/fs/7765370-228367793
3.7 Object Combination https://u7765370.pipipan.com/fs/7765370-228368302
3.8.1 Move Constructor https://u7765370.pipipan.com/fs/7765370-228368964
3.8.2 Move Constructor https://u7765370.pipipan.com/fs/7765370-228371021
3.9 Default modifier https://u7765370.pipipan.com/fs/7765370-228371529
Job Three https://u7765370.pipipan.com/fs/7765370-228486779
Iv. Basic Grammar (3)
4.1 Inheritance https://u7765370.pipipan.com/fs/7765370-228373652
4.2 Function Rewrite https://u7765370.pipipan.com/fs/7765370-228381839
4.3.1 virtual function https://u7765370.pipipan.com/fs/7765370-228386263
4.3.2 virtual function https://u7765370.pipipan.com/fs/7765370-228387312
4.4 Automatic type conversion https://u7765370.pipipan.com/fs/7765370-228493544
4.5 Disable automatic type conversion https://u7765370.pipipan.com/fs/7765370-228389611
4.6 Coercion type conversion https://u7765370.pipipan.com/fs/7765370-228391146
4.7 function Template https://u7765370.pipipan.com/fs/7765370-228392318
Class 4.8 Template https://u7765370.pipipan.com/fs/7765370-228393693
4.9 member function template https://u7765370.pipipan.com/fs/7765370-228394650
4.10 Template Special https://u7765370.pipipan.com/fs/7765370-228377905
Job Four https://u7765370.pipipan.com/fs/7765370-228492195
Five, find the object, identify the interface
5.0 Introduction https://u7765370.pipipan.com/fs/7765370-228396029
5.1 from FOP to OOP https://u7765370.pipipan.com/fs/7765370-228396777
5.2 Where are the objects https://u7765370.pipipan.com/fs/7765370-228397689
5.3 Where is the interface https://u7765370.pipipan.com/fs/7765370-228398076
5.4 Implementing Interface https://u7765370.pipipan.com/fs/7765370-228398545
5.5 Change and invariant: polymorphic power https://u7765370.pipipan.com/fs/7765370-228399521
5.x Summary https://u7765370.pipipan.com/fs/7765370-228493760
The method of horizontal splitting, separating step
6.0 Introduction https://u7765370.pipipan.com/fs/7765370-228417067
6.1 Starting from the design of the load monitor https://u7765370.pipipan.com/fs/7765370-228417107
6.2 Separation of interfaces and single responsibility principle https://u7765370.pipipan.com/fs/7765370-228417219
6.3 Further decomposition of the delegate and interface https://u7765370.pipipan.com/fs/7765370-228417271
6.4 Separation of variability at different levels https://u7765370.pipipan.com/fs/7765370-228417372
6.X Summary https://u7765370.pipipan.com/fs/7765370-228494837
Seventh, the algorithm of vertical splitting, separation of the expression
7.0 Introduction https://u7765370.pipipan.com/fs/7765370-228417409
7.1 Iterator https://u7765370.pipipan.com/fs/7765370-228417459
Implementation of the 7.2 iterator https://u7765370.pipipan.com/fs/7765370-228417497
7.3 Iterators and Templates https://u7765370.pipipan.com/fs/7765370-228417578
7.4 Decoupling of algorithm and data https://u7765370.pipipan.com/fs/7765370-228417659
7.5 Abstract structure and class template https://u7765370.pipipan.com/fs/7765370-228417725
7.6 function object and algorithm decomposition https://u7765370.pipipan.com/fs/7765370-228417805
7.7 Template-based policy mode https://u7765370.pipipan.com/fs/7765370-228417844
7.X Summary https://u7765370.pipipan.com/fs/7765370-228495204
Eighth talk about complex changes based on the combination of interfaces
8.0 Introduction https://u7765370.pipipan.com/fs/7765370-228417922
8.1 Combination of existing resources https://u7765370.pipipan.com/fs/7765370-228418163
8.2 Proper introduction of interface https://u7765370.pipipan.com/fs/7765370-228418518
8.3 function changes when the interface is unchanged https://u7765370.pipipan.com/fs/7765370-228418941
8.4 Decoration https://u7765370.pipipan.com/fs/7765370-228420942
8.5 responsibility transmission and responsibility chain https://u7765370.pipipan.com/fs/7765370-228422756
8.X Summary https://u7765370.pipipan.com/fs/7765370-228425751
Nineth, increase the level of abstraction, isolate complex changes
9.0 Introduction https://u7765370.pipipan.com/fs/7765370-228426223
9.1 Increased isolation and response to change through encapsulation https://u7765370.pipipan.com/fs/7765370-228426984
9.1.1 increases isolation and response to change through encapsulation https://u7765370.pipipan.com/fs/7765370-228427938
9.2.1 Increase the abstraction layer to cope with the change https://u7765370.pipipan.com/fs/7765370-228429881
9.2.2 increase the abstraction layer to cope with the change https://u7765370.pipipan.com/fs/7765370-228433060
9.3 Creating https://u7765370.pipipan.com/fs/7765370-228439558 for interrelated objects
9.4 Example: Automatic group volume system design https://u7765370.pipipan.com/fs/7765370-228441274
9.5 Design ideas (UP) https://u7765370.pipipan.com/fs/7765370-228448170
9.6 Design ideas (medium) https://u7765370.pipipan.com/fs/7765370-228450593
9.7 Design ideas (bottom) https://u7765370.pipipan.com/fs/7765370-228454583
9.X Summary https://u7765370.pipipan.com/fs/7765370-228458890
Course Summary https://u7765370.pipipan.com/fs/7765370-228471533
qq:2774494285.
Tsinghua University Video Courseware: Object-oriented Programming (C + +) (autonomous mode)