开始 C++ 编程 - 从初学者到进阶者
上次更新时间:2024-11-15
课程售价: 2.9 元
联系右侧微信客服充值或购买课程
课程内容
01 - Introduction
02 - Installation and Setup
- 001 Installation and Setup Overview
- 002 Installing the C++ Compiler on Windows
- 003 Installing CodeLite on Windows
- 004 Configuring CodeLite on Windows
- 005 Installing the C++ Compiler on Mac OSX
- 006 Installing CodeLite on Mac OSX
- 007 Configuring CodeLite on Mac OSX
- 008 Using the Command-Line interface
- 009 Installing CodeLite on Ubuntu Linux
- 010 Configuring CodeLite on Ubuntu Linux
- 011 Creating a Default CodeLite Project Template (All Versions)
- 012 Using the Command-Line Interface on Windows
- 013 Using the Command-Line Interface on Mac OSX
- 014 Using the Command-Line Interface on Linux (Ubuntu)
- 015 Using a Web-based C++ Compiler
- 016 Using the Included Source Code Course Resources
03 - Curriculum Overview
04 - Getting Started
- 001 Section Overview
- 002 An Overview of the CodeLite Interface
- 003 Writing our first program
- 004 Building our first program
- 005 What are Compiler Errors
- 006 What are Compiler Warnings
- 007 What are Linker Errors
- 008 What are Runtime Errors
- 009 What are Logic Errors
- 010 Section Challenge
- 011 Section Challenge - Solution
05 - Structure of a C++ Program
06 - Variables and Constants
07 - Arrays and Vectors
08 - Statements and Operators
- 001 Section Overview
- 002 Expressions and Statements
- 003 Using Operators
- 004 The Assignment Operator
- 005 Arithmetic Operators
- 006 Increment and Decrement Operators
- 007 Mixed Expressions and Conversions
- 008 Testing for Equality
- 009 Relational Operators
- 010 Logical Operators
- 011 Compound Assignment Operators
- 012 Operator Precedence
- 013 Section Challenge
- 014 Section Challenge - Solution
09 - Controlling Program Flow
- 001 Section Overview
- 002 if Statement
- 003 if else Statement
- 004 Nested if Statements
- 005 switch-case Statement
- 006 Conditional Operator
- 007 Looping
- 008 for Loop
- 009 range-based for Loop
- 010 while Loop
- 011 do while Loop
- 012 continue and break
- 013 Infinite Loops
- 014 Nested Loops
- 015 Section Challenge
- 016 Section Challenge - Solution Part 1
- 017 Section Challenge - Solution Part 2
10 - Characters and Strings
11 - Functions
- 001 Section Overview
- 002 What is a Function
- 003 Function Definition
- 004 Function Prototypes
- 005 Function Parameters and the return Statement
- 006 Default Argument Values
- 007 Overloading Functions
- 008 Passing Arrays to Functions
- 009 Pass by Reference
- 010 Scope Rules
- 011 How do Function Calls Work
- 012 inline Functions
- 013 Recursive Functions
- 014 Section Challenge
- 015 Section Challenge-Solution
12 - Pointers and References
- 001 Section Overview
- 002 What is a Pointer
- 003 Declaring Pointers
- 004 Accessing the Pointer Address and Storing Address in a Pointer
- 005 Dereferencing a Pointer
- 006 Dynamic Memory Allocation
- 007 The Relationship Between Arrays and Pointers
- 008 Pointer Arithmetic
- 009 Const and Pointers
- 010 Passing Pointers to Functions
- 011 Returning a Pointer from a Function
- 012 Potential Pointer Pitfalls
- 013 What is a Reference
- 014 L-values and R-values
- 015 Using the CodeLite IDE Debugger
- 016 Section Recap
- 017 Section Challenge
- 018 Section Challenge - Solution
13 - OOP - Classes and Objects
- 001 Section Overview
- 002 What is Object-Oriented Programming
- 003 What are Classes and Objects
- 004 Declaring a Class and Creating Objects
- 005 Accessing Class Members
- 006 public and private
- 007 Implementing Member Methods
- 008 Constructors and Destructors
- 009 The Default Constructor
- 010 Overloading Constructors
- 011 Constructor Initialization lists
- 012 Delegating Constructors
- 013 Constructor Parameters and Default Values
- 014 Copy Constructor
- 015 Shallow Copying with the Copy Constructor
- 016 Deep Copying with the Copy Constructor
- 017 Move Constructors
- 018 The 'this' Pointer
- 019 Using const with Classes
- 020 Static Class Members
- 021 Structs vs Classes
- 022 Friends of a class
- 023 Section Challenge
- 024 Section Challenge - Solution
14 - Operator Overloading
- 001 Section Overview
- 002 What is Operator Overloading
- 003 Overloading the Assignment Operator (copy)
- 004 Overloading the Assignment Operator (move)
- 005 Overloading Operators as Member Functions
- 006 Overloading Operators as Global Functions
- 007 Overloading the Stream Insertion and Extraction Operators
- 008 Section Challenge
- 009 Section Challenge - Solution 1
- 010 Section Challenge - Solution 2
15 - Inheritance
- 001 Section Overview
- 002 What is Inheritance
- 003 Terminology and Notation
- 004 Inheritance vs. Composition
- 005 Deriving Classes from Existing Classes
- 006 Protected Members and Class Access
- 007 Constructors and Destructors
- 008 Passing Arguments to Base Class Constructors
- 009 CopyMove Constructors and Operator = with Derived Classes
- 010 Redefining Base Class Methods
- 011 Multiple Inheritance
- 012 The Updated Accounts Example
- 013 Section Challenge
- 014 Section Challenge - Solution
16 - Polymorphism
- 001 Section Overview
- 002 What is Polymorphism
- 003 Using a Base Class Pointer
- 004 Virtual Functions
- 005 Virtual Destructors
- 006 Using the Override Specifier
- 007 Using the Final Specifier
- 008 Using Base Class References
- 009 Pure Virtual Functions and Abstract Classes
- 010 Abstract Classes as Interfaces
- 011 Section Challenge
- 012 Section Challenge - Solution Part 1
- 013 Section Challenge - Solution Part 2
- 014 Section Challenge - Final Solution
17 - Smart Pointers
18 - Exception Handling
- 001 Section Overview
- 002 Basic Concepts and a Simple Example Dividing by Zero
- 003 Throwing an Exception from a Function
- 004 Handling Multiple Exceptions
- 005 Stack Unwinding and How it Works
- 006 Creating User-Defined Exception Classes
- 007 Class Level Exceptions
- 008 The C++ stdexception Class Hierarchy
- 009 Section Challenge
- 010 Section Challenge - Solution
19 - IO and Streams
- 001 Section Overview
- 002 Files, Streams and IO
- 003 Stream Manipulators
- 004 Stream Manipulators - boolean
- 005 Stream Manipulators - integers
- 006 Stream Manipulators - floating point
- 007 Stream Manipulators - align and fill
- 008 Section Challenge 1
- 009 Section Challenge 1 - Solution
- 010 Reading from a Text File
- 011 Reading from a Text File - Live Demo - Part 1
- 012 Reading from a Text File - Live Demo - Part 2
- 013 Section Challenge 2
- 014 Section Challenge 2 - Solution
- 015 Section Challenge 3
- 016 Section Challenge 3 - Solution
- 017 Writing to a Text File
- 018 Writing to a Text File - Live Demo
- 019 Section Challenge 4
- 020 Section Challenge 4 - Solution
- 021 Using String Streams
- 022 File locations with some Popular IDEs
20 - The Standard Template Library (STL)
- 001 Section Overview
- 002 What is the STL
- 003 Generic Programming with Macros
- 004 Generic Programming with Function Templates
- 005 Generic Programming with Class Templates
- 006 Creating a Generic Array Template Class
- 007 Introduction to STL Containers
- 008 Introduction to STL Iterators
- 009 Introduction to Iterators - Demo
- 010 Introduction to STL Algorithms
- 011 Introduction to Algorithms - Demo
- 012 Sequence Container - Array
- 013 Sequence Containers - Vector
- 014 Sequence Containers - Deque
- 015 Section Challenge 1
- 016 Section Challenge 1 - Solution
- 017 Sequence Containers - List and Forward List
- 018 Section Challenge 2
- 019 Section Challenge 2 - Solution
- 020 Associative Containers - Sets
- 021 Associative Containers - Maps
- 022 Section Challenge 3
- 023 Section Challenge 3 - Solution
- 024 Container Adaptors - Stack
- 025 Container Adaptors - Queue
- 026 Section Challenge 4
- 027 Section Challenge 4 - Solution
- 028 Container Adaptors - Priority Queue
21 - Lambda Expressions
- 001 Section Overview
- 002 Motivation
- 003 Structure of a Lambda Expression
- 004 Stateless Lambda Expressions
- 005 Stateless Lambda Expressions Demo - Part 1
- 006 Stateless Lambda Expressions Demo - Part 2
- 007 Stateful Lambda Expressions
- 008 Stateful Lambda Expressions Demo - Part1
- 009 Stateful Lambda Expressions Demo - Part2
- 010 Lambdas and the STL
22 - Bonus Section - Using Visual Studio Code
- 001 Section Overview
- 002 Installing VSCode on Windows
- 003 Building and Running C++ Programs with VSCode on Windows
- 004 Debugging C++ Programs with VSCode on Windows
- 005 Using the Course Source Code with VSCode on Windows
- 006 Installing VSCode on Mac OSX
- 007 Building and Running C++ Programs with VSCode on Mac OSX
- 008 Debugging C++ Programs with VSCode on Mac
- 009 Using the Course Source Code with VSCode on Mac
- 010 Installing VSCode on Linux
- 011 Building and Running C++ Programs with VSCode on Linux
- 012 Debugging C++ Programs with VSCode on Linux
- 013 Using the Course Source Code with VSCode on Linux
23 - Bonus Section - Enumerations
24 - ARCHIVED - OLD INSTALLATION VIDEOS
- 001 Installation and Setup Overview
- 002 Installing the C++ Compiler on Windows
- 003 Installing CodeLite on Windows
- 004 Configuring CodeLite on Windows
- 005 Installing the C++ Compiler on Mac OSX
- 006 Installing CodeLite on Mac OSX
- 007 Configuring CodeLite on Mac OSX
- 008 Installing CodeLite on Ubuntu Linux
- 009 Configuring CodeLite on Ubuntu Linux
- 010 Creating a Default CodeLite Project Template (All Versions)
- 011 Using the Included Source Code Course Resources
26 - Bonus Section - including Slides
课程内容
25个章节 , 302个讲座
01 - Introduction
02 - Installation and Setup
- 001 Installation and Setup Overview
- 002 Installing the C++ Compiler on Windows
- 003 Installing CodeLite on Windows
- 004 Configuring CodeLite on Windows
- 005 Installing the C++ Compiler on Mac OSX
- 006 Installing CodeLite on Mac OSX
- 007 Configuring CodeLite on Mac OSX
- 008 Using the Command-Line interface
- 009 Installing CodeLite on Ubuntu Linux
- 010 Configuring CodeLite on Ubuntu Linux
- 011 Creating a Default CodeLite Project Template (All Versions)
- 012 Using the Command-Line Interface on Windows
- 013 Using the Command-Line Interface on Mac OSX
- 014 Using the Command-Line Interface on Linux (Ubuntu)
- 015 Using a Web-based C++ Compiler
- 016 Using the Included Source Code Course Resources
03 - Curriculum Overview
04 - Getting Started
- 001 Section Overview
- 002 An Overview of the CodeLite Interface
- 003 Writing our first program
- 004 Building our first program
- 005 What are Compiler Errors
- 006 What are Compiler Warnings
- 007 What are Linker Errors
- 008 What are Runtime Errors
- 009 What are Logic Errors
- 010 Section Challenge
- 011 Section Challenge - Solution
05 - Structure of a C++ Program
06 - Variables and Constants
07 - Arrays and Vectors
08 - Statements and Operators
- 001 Section Overview
- 002 Expressions and Statements
- 003 Using Operators
- 004 The Assignment Operator
- 005 Arithmetic Operators
- 006 Increment and Decrement Operators
- 007 Mixed Expressions and Conversions
- 008 Testing for Equality
- 009 Relational Operators
- 010 Logical Operators
- 011 Compound Assignment Operators
- 012 Operator Precedence
- 013 Section Challenge
- 014 Section Challenge - Solution
09 - Controlling Program Flow
- 001 Section Overview
- 002 if Statement
- 003 if else Statement
- 004 Nested if Statements
- 005 switch-case Statement
- 006 Conditional Operator
- 007 Looping
- 008 for Loop
- 009 range-based for Loop
- 010 while Loop
- 011 do while Loop
- 012 continue and break
- 013 Infinite Loops
- 014 Nested Loops
- 015 Section Challenge
- 016 Section Challenge - Solution Part 1
- 017 Section Challenge - Solution Part 2
10 - Characters and Strings
11 - Functions
- 001 Section Overview
- 002 What is a Function
- 003 Function Definition
- 004 Function Prototypes
- 005 Function Parameters and the return Statement
- 006 Default Argument Values
- 007 Overloading Functions
- 008 Passing Arrays to Functions
- 009 Pass by Reference
- 010 Scope Rules
- 011 How do Function Calls Work
- 012 inline Functions
- 013 Recursive Functions
- 014 Section Challenge
- 015 Section Challenge-Solution
12 - Pointers and References
- 001 Section Overview
- 002 What is a Pointer
- 003 Declaring Pointers
- 004 Accessing the Pointer Address and Storing Address in a Pointer
- 005 Dereferencing a Pointer
- 006 Dynamic Memory Allocation
- 007 The Relationship Between Arrays and Pointers
- 008 Pointer Arithmetic
- 009 Const and Pointers
- 010 Passing Pointers to Functions
- 011 Returning a Pointer from a Function
- 012 Potential Pointer Pitfalls
- 013 What is a Reference
- 014 L-values and R-values
- 015 Using the CodeLite IDE Debugger
- 016 Section Recap
- 017 Section Challenge
- 018 Section Challenge - Solution
13 - OOP - Classes and Objects
- 001 Section Overview
- 002 What is Object-Oriented Programming
- 003 What are Classes and Objects
- 004 Declaring a Class and Creating Objects
- 005 Accessing Class Members
- 006 public and private
- 007 Implementing Member Methods
- 008 Constructors and Destructors
- 009 The Default Constructor
- 010 Overloading Constructors
- 011 Constructor Initialization lists
- 012 Delegating Constructors
- 013 Constructor Parameters and Default Values
- 014 Copy Constructor
- 015 Shallow Copying with the Copy Constructor
- 016 Deep Copying with the Copy Constructor
- 017 Move Constructors
- 018 The 'this' Pointer
- 019 Using const with Classes
- 020 Static Class Members
- 021 Structs vs Classes
- 022 Friends of a class
- 023 Section Challenge
- 024 Section Challenge - Solution
14 - Operator Overloading
- 001 Section Overview
- 002 What is Operator Overloading
- 003 Overloading the Assignment Operator (copy)
- 004 Overloading the Assignment Operator (move)
- 005 Overloading Operators as Member Functions
- 006 Overloading Operators as Global Functions
- 007 Overloading the Stream Insertion and Extraction Operators
- 008 Section Challenge
- 009 Section Challenge - Solution 1
- 010 Section Challenge - Solution 2
15 - Inheritance
- 001 Section Overview
- 002 What is Inheritance
- 003 Terminology and Notation
- 004 Inheritance vs. Composition
- 005 Deriving Classes from Existing Classes
- 006 Protected Members and Class Access
- 007 Constructors and Destructors
- 008 Passing Arguments to Base Class Constructors
- 009 CopyMove Constructors and Operator = with Derived Classes
- 010 Redefining Base Class Methods
- 011 Multiple Inheritance
- 012 The Updated Accounts Example
- 013 Section Challenge
- 014 Section Challenge - Solution
16 - Polymorphism
- 001 Section Overview
- 002 What is Polymorphism
- 003 Using a Base Class Pointer
- 004 Virtual Functions
- 005 Virtual Destructors
- 006 Using the Override Specifier
- 007 Using the Final Specifier
- 008 Using Base Class References
- 009 Pure Virtual Functions and Abstract Classes
- 010 Abstract Classes as Interfaces
- 011 Section Challenge
- 012 Section Challenge - Solution Part 1
- 013 Section Challenge - Solution Part 2
- 014 Section Challenge - Final Solution
17 - Smart Pointers
18 - Exception Handling
- 001 Section Overview
- 002 Basic Concepts and a Simple Example Dividing by Zero
- 003 Throwing an Exception from a Function
- 004 Handling Multiple Exceptions
- 005 Stack Unwinding and How it Works
- 006 Creating User-Defined Exception Classes
- 007 Class Level Exceptions
- 008 The C++ stdexception Class Hierarchy
- 009 Section Challenge
- 010 Section Challenge - Solution
19 - IO and Streams
- 001 Section Overview
- 002 Files, Streams and IO
- 003 Stream Manipulators
- 004 Stream Manipulators - boolean
- 005 Stream Manipulators - integers
- 006 Stream Manipulators - floating point
- 007 Stream Manipulators - align and fill
- 008 Section Challenge 1
- 009 Section Challenge 1 - Solution
- 010 Reading from a Text File
- 011 Reading from a Text File - Live Demo - Part 1
- 012 Reading from a Text File - Live Demo - Part 2
- 013 Section Challenge 2
- 014 Section Challenge 2 - Solution
- 015 Section Challenge 3
- 016 Section Challenge 3 - Solution
- 017 Writing to a Text File
- 018 Writing to a Text File - Live Demo
- 019 Section Challenge 4
- 020 Section Challenge 4 - Solution
- 021 Using String Streams
- 022 File locations with some Popular IDEs
20 - The Standard Template Library (STL)
- 001 Section Overview
- 002 What is the STL
- 003 Generic Programming with Macros
- 004 Generic Programming with Function Templates
- 005 Generic Programming with Class Templates
- 006 Creating a Generic Array Template Class
- 007 Introduction to STL Containers
- 008 Introduction to STL Iterators
- 009 Introduction to Iterators - Demo
- 010 Introduction to STL Algorithms
- 011 Introduction to Algorithms - Demo
- 012 Sequence Container - Array
- 013 Sequence Containers - Vector
- 014 Sequence Containers - Deque
- 015 Section Challenge 1
- 016 Section Challenge 1 - Solution
- 017 Sequence Containers - List and Forward List
- 018 Section Challenge 2
- 019 Section Challenge 2 - Solution
- 020 Associative Containers - Sets
- 021 Associative Containers - Maps
- 022 Section Challenge 3
- 023 Section Challenge 3 - Solution
- 024 Container Adaptors - Stack
- 025 Container Adaptors - Queue
- 026 Section Challenge 4
- 027 Section Challenge 4 - Solution
- 028 Container Adaptors - Priority Queue
21 - Lambda Expressions
- 001 Section Overview
- 002 Motivation
- 003 Structure of a Lambda Expression
- 004 Stateless Lambda Expressions
- 005 Stateless Lambda Expressions Demo - Part 1
- 006 Stateless Lambda Expressions Demo - Part 2
- 007 Stateful Lambda Expressions
- 008 Stateful Lambda Expressions Demo - Part1
- 009 Stateful Lambda Expressions Demo - Part2
- 010 Lambdas and the STL
22 - Bonus Section - Using Visual Studio Code
- 001 Section Overview
- 002 Installing VSCode on Windows
- 003 Building and Running C++ Programs with VSCode on Windows
- 004 Debugging C++ Programs with VSCode on Windows
- 005 Using the Course Source Code with VSCode on Windows
- 006 Installing VSCode on Mac OSX
- 007 Building and Running C++ Programs with VSCode on Mac OSX
- 008 Debugging C++ Programs with VSCode on Mac
- 009 Using the Course Source Code with VSCode on Mac
- 010 Installing VSCode on Linux
- 011 Building and Running C++ Programs with VSCode on Linux
- 012 Debugging C++ Programs with VSCode on Linux
- 013 Using the Course Source Code with VSCode on Linux
23 - Bonus Section - Enumerations
24 - ARCHIVED - OLD INSTALLATION VIDEOS
- 001 Installation and Setup Overview
- 002 Installing the C++ Compiler on Windows
- 003 Installing CodeLite on Windows
- 004 Configuring CodeLite on Windows
- 005 Installing the C++ Compiler on Mac OSX
- 006 Installing CodeLite on Mac OSX
- 007 Configuring CodeLite on Mac OSX
- 008 Installing CodeLite on Ubuntu Linux
- 009 Configuring CodeLite on Ubuntu Linux
- 010 Creating a Default CodeLite Project Template (All Versions)
- 011 Using the Included Source Code Course Resources