Mark As Completed Discussion

Introduction to Programming

Programming is a powerful skill that allows us to create and automate tasks, solve problems, and build useful applications. It is a way of giving instructions to a computer to perform specific tasks.

Imagine you have a robot. In order for the robot to understand what you want it to do, you would need to provide clear and precise instructions. Similarly, in programming, we use programming languages to communicate with the computer and give it instructions to follow.

Programming is like speaking a language, except instead of communicating with other humans, you are communicating with computers. Just like there are different languages spoken around the world, there are also different programming languages.

C++ is a popular programming language known for its efficiency and performance. It is used for a wide range of applications, including game development, system programming, and embedded systems.

Let's start our programming journey by writing our first C++ program to display a welcome message. Take a look at the code example below:

TEXT/X-C++SRC
1#include <iostream>
2using namespace std;
3
4int main() {
5  // Welcome Message
6  cout << "Welcome to the world of programming!" << endl;
7  return 0;
8}

This program displays the message "Welcome to the world of programming!" on the console. The cout statement is used to output messages to the console, and << is the insertion operator used to insert the message.

CPP
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment

Are you sure you're getting this? Fill in the missing part by typing it in.

In programming, the process of giving clear and precise instructions to a computer is known as __.

Write the missing line below.

Programming Basics

In this section, we will cover the basics of programming, including variables, data types, and basic operations.

Variables

Variables are used to store data in a program. They have a name and a data type. In C++, you need to declare the variables before you can use them.

TEXT/X-C++SRC
1#include <iostream>
2using namespace std;
3
4int main() {
5  // Example: Variables
6  string playerName = "Kobe Bryant";
7  int pointsScored = 81;
8
9  // Output
10  cout << "Player Name: " << playerName << endl;
11  cout << "Points Scored: " << pointsScored << endl;
12
13  return 0;
14}

In the above example, we declare two variables: playerName of type string and pointsScored of type int. We then assign values to these variables: Kobe Bryant for playerName and 81 for pointsScored. Finally, we use the cout statement to output the values of these variables.

When naming variables, it is important to use meaningful names that describe the data they store. This makes the code more readable and easier to understand.

Data Types

In C++, every variable has a data type that determines what kind of data it can store. Some common data types in C++ include:

  • int - for whole numbers
  • float - for floating-point numbers
  • double - for double-precision floating-point numbers
  • char - for single characters
  • bool - for boolean values (true or false)
  • string - for sequences of characters

Basic Operations

Once you have variables with values, you can perform various operations on them. Some basic operations include:

  • Arithmetic operations (+, -, *, /, %)
  • Comparison operations (==, !=, <, >, <=, >=)
  • Logical operations (&&, ||, !)

These operations allow you to manipulate and compare values to perform different tasks in your program.

Now that you have an understanding of variables, data types, and basic operations, you are ready to dive deeper into the world of programming!

CPP
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment

Build your intuition. Is this statement true or false?

The best way to name variables is by using single-letter names to save space and improve performance.

Press true if you believe the statement is correct, or false otherwise.

Control Flow

Control flow refers to the order in which the statements in a program are executed. It allows the program to make decisions and perform different actions based on certain conditions.

In C++, control flow can be achieved through the use of loops, conditionals, and branching statements.

Loops

Loops are used to repeat a block of code multiple times until a certain condition is met. In C++, there are three types of loops:

  • while loop: The while loop executes a block of code repeatedly as long as a given condition is true.
  • do-while loop: The do-while loop is similar to the while loop, but it executes the block of code at least once, even if the condition is initially false.
  • for loop: The for loop allows you to specify the initialization, condition, and increment/decrement in a single line.
TEXT/X-C++SRC
1#include <iostream>
2using namespace std;
3
4int main() {
5  // Example: Loops
6  int i = 1;
7
8  // while loop
9  while (i <= 5) {
10    cout << i << " ";
11    i++;
12  }
13  cout << endl;
14
15  // do-while loop
16  i = 1;
17  do {
18    cout << i << " ";
19    i++;
20  } while (i <= 5);
21  cout << endl;
22
23  // for loop
24  for (int j = 1; j <= 5; j++) {
25    cout << j << " ";
26  }
27  cout << endl;
28
29  return 0;
30}

The above example demonstrates the three types of loops. The while loop and do-while loop print numbers from 1 to 5, while the for loop achieves the same result by initializing the loop variable, specifying the condition, and incrementing the loop variable in a single line.

Conditionals

Conditionals allow you to execute different blocks of code based on certain conditions. In C++, there are three main conditional statements:

  • if statement: The if statement allows you to execute a block of code if a certain condition is true.
  • else if statement: The else if statement allows you to execute a block of code if the previous if statement condition is false, but its condition is true.
  • else statement: The else statement allows you to execute a block of code if none of the previous conditions are true.
TEXT/X-C++SRC
1#include <iostream>
2using namespace std;
3
4int main() {
5  // Example: Conditionals
6  int age;
7
8  cout << "Enter your age: ";
9  cin >> age;
10
11  if (age < 18) {
12    cout << "You are not eligible to vote." << endl;
13  } else if (age >= 18 && age < 21) {
14    cout << "You are eligible to vote, but not eligible to drink." << endl;
15  } else {
16    cout << "You are eligible to vote and eligible to drink." << endl;
17  }
18
19  return 0;
20}

In the above example, we prompt the user to enter their age and then use conditional statements to determine their eligibility to vote and drink. The if statement checks if the age is less than 18, the else if statement checks if the age is between 18 and 21, and the else statement is executed if none of the previous conditions are true.

Branching

Branching statements provide a way to alter the control flow of a program. In C++, there are three main branching statements:

  • break statement: The break statement is used to exit a loop or switch statement.
  • continue statement: The continue statement is used to skip the remaining code in a loop and move to the next iteration.
  • return statement: The return statement is used to exit a function and return a value.

Branching statements can be used to control the execution of loops or terminate early from a function, depending on certain conditions.

In conclusion, control flow is an essential concept in programming that allows the program to make decisions and perform different actions based on certain conditions. By understanding loops, conditionals, and branching statements in C++, you can create more interactive and dynamic programs that respond to user input or changing conditions.

CPP
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment

Let's test your knowledge. Fill in the missing part by typing it in.

In C++, control flow can be achieved through the use of ___, conditionals, and branching statements.

Write the missing line below.

Functions and Modules

Functions are blocks of code that perform a specific task. They allow you to break down complex problems into smaller, manageable parts. In C++, functions are defined with a return type, function name, and a set of parentheses that may contain parameters.

TEXT/X-C++SRC
1return_type function_name(parameters) {
2  // code block
3  return result;
4}

For example, let's consider a simple function that multiplies two numbers:

TEXT/X-C++SRC
1#include <iostream>
2
3using namespace std;
4
5// Function declaration
6int multiply(int a, int b);
7
8int main() {
9  // Function call
10  int result = multiply(5, 7);
11
12  cout << "The result is: " << result << endl;
13
14  return 0;
15}
16
17// Function definition
18int multiply(int a, int b) {
19  return a * b;
20}

In the above code:

  • We declare a function multiply with two parameters a and b of type int.
  • In the main function, we call the multiply function and store the result in the result variable.
  • The multiply function multiplies the two numbers and returns the result.
  • Finally, we print the result using the cout statement.

Functions in C++ can also have a void return type, which means they don't return any value. These functions are used for performing actions or tasks without returning a result.

Modules, on the other hand, are files that contain a collection of related functions and other programming elements. They help organize code, improve reusability, and make it easier to maintain and update programs. In C++, modules can be created by separating code into multiple files and using header files to provide function declarations.

TEXT/X-C++SRC
1// File: math_utils.h
2
3#ifndef MATH_UTILS_H
4#define MATH_UTILS_H
5
6int multiply(int a, int b);
7
8#endif
TEXT/X-C++SRC
1// File: math_utils.cpp
2
3#include "math_utils.h"
4
5int multiply(int a, int b) {
6  return a * b;
7}

In the above example, we have a header file math_utils.h that contains the declaration of the multiply function. The implementation of the function is then placed in a separate file math_utils.cpp. This separation of declaration and implementation allows us to use the multiply function in other files by including the math_utils.h header.

By using functions and modules, you can create reusable code that can be used in multiple parts of your program, improving efficiency and making your programs easier to maintain.

CPP
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment

Let's test your knowledge. Click the correct answer from the options.

Which of the following is a benefit of using functions in programming?

Click the option that best answers the question.

  • Improves code organization and reusability
  • Increases runtime performance
  • Reduces the need for comments
  • Allows for direct memory manipulation

Working with Arrays and Collections

Arrays and other collection data structures play a vital role in programming. They allow you to store and manipulate multiple values as a single unit. In C++, arrays are used to store a fixed-size sequence of elements of the same type.

TEXT/X-C++SRC
1#include <iostream>
2using namespace std;
3
4int main() {
5  // Create an array of integers
6  int numbers[5] = {1, 2, 3, 4, 5};
7
8  // Accessing elements of the array
9  cout << "The first element is: " << numbers[0] << endl;
10  cout << "The third element is: " << numbers[2] << endl;
11
12  return 0;
13}

In the above code:

  • We declare an array numbers of type int with a size of 5.
  • We initialize the array with values {1, 2, 3, 4, 5}.
  • We access and print the first and third elements of the array.

Arrays are zero-indexed, which means the first element is accessed using the index 0. In the example above, numbers[0] prints the first element 1, and numbers[2] prints the third element 3.

Arrays can also be used to store other types of data such as characters, floating-point numbers, or even user-defined types.

Collections such as vectors, lists, and maps provide more flexibility in terms of size and operations compared to arrays. They are part of the Standard Template Library (STL) in C++. Here's an example of storing and accessing elements in a vector:

TEXT/X-C++SRC
1#include <iostream>
2#include <vector>
3using namespace std;
4
5int main() {
6  // Create a vector of integers
7  vector<int> numbers = {1, 2, 3};
8
9  // Add elements to the vector
10  numbers.push_back(4);
11
12  // Accessing elements of the vector
13  cout << "The first element is: " << numbers[0] << endl;
14  cout << "The second element is: " << numbers[1] << endl;
15  cout << "The last element is: " << numbers.back() << endl;
16
17  return 0;
18}

In the above code:

  • We include the <vector> header to use vectors.
  • We create a vector numbers of type int and initialize it with values {1, 2, 3}.
  • We add an element 4 to the vector using the push_back function.
  • We access and print the first, second, and last elements of the vector using indexing and the back function.

Vectors can dynamically grow and shrink in size, making them more flexible compared to arrays.

Arrays and collections are essential tools in programming, enabling you to work with multiple values efficiently. They are used extensively in various programming scenarios such as storing data, performing calculations, and implementing various algorithms.

It's important to choose the appropriate data structure based on your requirements and the operations you need to perform on the data.

Let's test your knowledge. Click the correct answer from the options.

Which of the following is true regarding arrays and collections in C++?

Click the option that best answers the question.

  • Arrays are fixed-size while collections can dynamically grow in size
  • Arrays can hold elements of different types while collections can only hold elements of the same type
  • Arrays and collections are both fixed-size data structures
  • Arrays and collections in C++ are interchangeable and can be used interchangeably

Object-Oriented Programming

Object-Oriented Programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code that manipulate that data. It provides a way to structure and organize code for large-scale software development.

In OOP, the building blocks are classes and objects.

  • A class is a blueprint or template that describes the properties and behaviors of a particular type of object.
  • An object is an instance of a class that holds its own data and methods.

Let's take an example that relates to your interest in home renovation. Suppose you have a blueprint for a house, which includes the general structure, rooms, and functionalities. This blueprint serves as a class. Based on this blueprint, you can build multiple houses, each representing an object. Each house has its own unique characteristics and functionalities, but they are all based on the same blueprint.

Object-Oriented Programming allows you to create modular and reusable code by encapsulating data and behavior within objects.

One of the key concepts in OOP is inheritance. Inheritance allows you to define a new class based on an existing class, inheriting all of its properties and behaviors. Continuing with the home renovation analogy, you can have a blueprint for a basic house, and then create a more specialized blueprint for a luxury house that inherits the properties and behaviors of the basic house, but also adds additional features.

In C++, you can create classes using the class keyword. Here's a basic example:

TEXT/X-C++SRC
1#include <iostream>
2using namespace std;
3
4// Define a class
5
6class House {
7public:
8    string address;
9    int numRooms;
10
11    void printInfo() {
12        cout << "Address: " << address << endl;
13        cout << "Number of Rooms: " << numRooms << endl;
14    }
15};
16
17int main() {
18    // Create an object
19    House myHouse;
20
21    // Set properties
22    myHouse.address = "123 Main St";
23    myHouse.numRooms = 3;
24
25    // Call a method
26    myHouse.printInfo();
27
28    return 0;
29}
CPP
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment

Try this exercise. Fill in the missing part by typing it in.

Object-Oriented Programming allows you to create modular and reusable code by encapsulating data and behavior within __.

Write the missing line below.

File Input and Output

File Input and Output is an essential aspect of programming that involves reading data from files and writing data to files. This capability allows your programs to store and retrieve data persistently on the computer's storage.

In C++, file input is typically done using the ifstream class, while file output is accomplished using the ofstream class. Both of these classes are defined in the <fstream> header.

To write data to a file, you can create an instance of the ofstream class, specify the file name, and open it for writing using the open() method. Then, you can write data to the file using the << operator, similar to how you output data to the console.

TEXT/X-C++SRC
1#include <fstream>
2using namespace std;
3
4int main() {
5    // Create a file
6    ofstream outputFile("output.txt");
7
8    // Write to the file
9    outputFile << "Hello, World!";
10
11    // Close the file
12    outputFile.close();
13
14    return 0;
15}

To read data from a file, you can create an instance of the ifstream class, specify the file name, and open it for reading using the open() method. Then, you can use the getline() function to read data line by line from the file.

TEXT/X-C++SRC
1#include <fstream>
2using namespace std;
3
4int main() {
5    // Open the file
6    ifstream inputFile("output.txt");
7
8    // Read from the file
9    string line;
10    while (getline(inputFile, line)) {
11        cout << line << endl;
12    }
13
14    // Close the file
15    inputFile.close();
16
17    return 0;
18}

In the example above, the program creates a file named output.txt and writes the string "Hello, World!" to it. Then, it opens the file, reads the content line by line using getline(), and outputs the lines to the console.

File Input and Output is crucial in many real-world applications, such as reading configuration files, processing large datasets, and storing program data persistently.

CPP
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment

Are you sure you're getting this? Fill in the missing part by typing it in.

File Input and Output is an essential aspect of programming that involves reading data from files and writing data to files. This capability allows your programs to store and retrieve data persistently on the computer's storage.

In C++, file input is typically done using the ifstream class, while file output is accomplished using the ofstream class. Both of these classes are defined in the <fstream> header.

To write data to a file, you can create an instance of the ofstream class, specify the file name, and open it for writing using the open() method. Then, you can write data to the file using the << operator, similar to how you output data to the console.

To read data from a file, you can create an instance of the ifstream class, specify the file name, and open it for reading using the open() method. Then, you can use the getline() function to read data line by line from the file.

In the example above, the program creates a file named output.txt and writes the string "Hello, World!" to it. Then, it opens the file, reads the content line by line using getline(), and outputs the lines to the console.

File Input and Output is crucial in many real-world applications, such as reading configuration files, processing large datasets, and storing program data persistently.

Write the missing line below.

Exception Handling

Exception handling is a crucial aspect of programming, as it allows us to handle errors and unexpected situations that may occur during program execution.

In C++, exception handling is achieved through the use of try and catch blocks. The try block contains the code that might throw an exception, while the catch block is used to handle the exception.

Here is an example of exception handling in C++:

TEXT/X-C++SRC
1#include <iostream>
2using namespace std;
3
4int main() {
5    try {
6        // Code that might throw an exception
7    }
8    catch (exception& e) {
9        // Handler for specific exception type 'exception'
10    }
11    catch (...) {
12        // Handler for all other exceptions
13    }
14    return 0;
15}

In this example, the code inside the try block is executed, and if any exception is thrown, it is caught by the appropriate catch block. The first catch block handles exceptions of type exception, and the second catch block handles all other exceptions.

Exception handling allows us to gracefully handle errors and take appropriate actions, such as displaying an error message, logging the error, or performing recovery operations.

CPP
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment

Try this exercise. Click the correct answer from the options.

Which keyword is used to handle exceptions in C++?

Click the option that best answers the question.

  • try
  • catch
  • finally
  • throw

Debugging and Testing

Debugging and testing are critical steps in the software development process. Debugging involves the process of finding and fixing errors or bugs in your code, while testing is the process of verifying that your code functions as intended.

When it comes to debugging, experienced engineers employ various techniques to identify and resolve issues efficiently. These techniques can include:

  • Print Statements: Adding print statements throughout the code to check the values of variables and track the flow of execution.
  • Step-By-Step Execution: Using a debugger to execute the code line by line, observing the values of variables at each step.
  • Logging: Writing detailed logs during program execution to gather information about the program's behavior.
  • Code Review: Seeking assistance from peers or conducting a thorough code review to identify logical errors or potential issues.

Testing ensures that your code produces the expected output for a variety of inputs. It involves creating test cases to validate the correctness and functionality of your code. Common testing techniques include:

  • Unit Testing: Testing individual units of code, such as functions or classes, to ensure they work correctly in isolation.
  • Integration Testing: Testing the interaction between multiple components or modules to ensure they integrate smoothly.
  • Regression Testing: Re-running previously successful test cases to ensure that new changes haven't introduced unintended side effects.

By incorporating effective debugging and testing practices into your development workflow, you can significantly improve the quality and reliability of your code.

CPP
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment

Try this exercise. Click the correct answer from the options.

Which technique can be used to identify and fix errors in your code?

Click the option that best answers the question.

  • Logging
  • Stepping through code
  • Unit testing
  • All of the above

Memory management refers to the allocation, utilization, and deallocation of memory in a program. In C++, memory management is an essential concept that involves understanding pointers and dynamic memory allocation.

Pointers are variables that store memory addresses. They allow us to access and manipulate data indirectly by referring to the address where the data is stored. In basketball terms, we can think of pointers as the players on the court. They don't hold the ball directly but can control it by pointing their fingers.

Dynamic memory allocation allows programs to allocate memory at runtime rather than during compile-time. This is useful when we need to allocate memory for data structures whose size is determined at runtime, such as arrays or linked lists. It's like building a basketball court when a game is about to start, dynamically adjusting the number of seats available based on the number of spectators expected.

To allocate memory dynamically in C++, we use the new keyword, and to deallocate memory, we use the delete keyword. Here's an example:

TEXT/X-C++SRC
1#include <iostream>
2using namespace std;
3
4int main() {
5  int* ptr = new int; // allocate memory dynamically
6  *ptr = 5; // store a value in the allocated memory
7
8  cout << *ptr; // print the value
9
10  delete ptr; // deallocate memory
11  return 0;
12}

In this example, we dynamically allocate memory for an integer using the new keyword. We then assign a value of 5 to the allocated memory using the pointer dereference operator *. Finally, we print the value and deallocate the memory using the delete keyword to avoid memory leaks.

Understanding memory management is crucial in C++ programming as it allows us to efficiently utilize memory resources, prevent memory leaks, and handle complex data structures.

Are you sure you're getting this? Click the correct answer from the options.

Which of the following is responsible for deallocating dynamically allocated memory in C++?

Click the option that best answers the question.

  • Pointers
  • delete keyword
  • malloc function
  • Constructors

Algorithmic Problem Solving

Algorithmic problem solving involves solving problems using algorithms and data structures. It is like creating a strategy to solve a complex puzzle or game. As someone who enjoys electronics, basketball, home renovation, and music, you can relate algorithmic problem solving to various aspects of your interests.

For example, let's consider your interest in basketball. In basketball, players need to make quick decisions based on the current game situation and come up with strategies to outsmart the opponents. This process involves analyzing the game state, identifying patterns, and executing the most optimal moves. Similarly, algorithmic problem solving requires analyzing the problem, identifying patterns or structures in the data, and implementing the most efficient algorithms.

Another analogy could be related to your interest in home renovation. When renovating a room, you need to plan the order of tasks, determine the required materials, and define a step-by-step process to achieve the desired outcome. This planning and problem-solving process resembles algorithmic problem solving, where you analyze the problem, design algorithms, and implement them in code.

To illustrate the concept of algorithmic problem solving in C++, let's consider the problem of finding the factorial of a number. The factorial of a non-negative integer n, denoted as n!, is the product of all positive integers less than or equal to n.

In C++, you can solve this problem using a recursive function. Here's an example:

TEXT/X-C++SRC
1#include <iostream>
2using namespace std;
3
4int factorial(int n) {
5  if (n == 0) {
6    return 1;
7  } else {
8    return n * factorial(n - 1);
9  }
10}
11
12int main() {
13  int number;
14  cout << "Enter a number: ";
15  cin >> number;
16  cout << "Factorial of " << number << " is " << factorial(number);
17  return 0;
18}

In this example, the factorial function is defined to calculate the factorial of a number. It uses recursion to break down the problem into smaller subproblems until a base case is reached.

Algorithmic problem solving is a fundamental skill in programming. It helps you develop logical thinking, problem-solving abilities, and the ability to analyze and optimize algorithms for efficiency. By mastering algorithmic problem solving, you'll become a more proficient and confident programmer.

CPP
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment

Try this exercise. Click the correct answer from the options.

Which of the following best describes algorithmic problem solving?

Click the option that best answers the question.

  • Finding the fastest algorithm for solving a problem
  • Solving problems using algorithms and data structures
  • Creating computer programs to automate tasks
  • Analyzing the efficiency of existing algorithms

Introduction to C++

C++ is a powerful programming language that is widely used in various domains, including software development, system programming, game development, and more. It is an extension of the C programming language and provides additional features and functionality.

Why Learn C++?

As someone interested in electronics, basketball, home renovation, and music, learning C++ can open up new possibilities and enhance your skills in these areas. Here's why learning C++ is beneficial:

  1. Low-Level Programming: C++ allows you to work at a low level of abstraction and gives you full control over hardware resources. This is particularly useful in electronics and embedded systems programming, where you may need to interact directly with hardware components.

  2. Game Development: If you're into basketball, you might be interested in game development. C++ is a popular choice for developing games due to its performance and efficient memory management. Many game engines, such as Unreal Engine and Unity, are written in C++.

  3. Performance Optimization: C++ enables you to write high-performance code by providing features like inline assembly, manual memory management, and fine-grained control over program execution. This can be beneficial in optimizing algorithms and data structures for faster execution.

  4. Cross-Platform Development: C++ applications can be compiled and run on different platforms, including Windows, macOS, Linux, and embedded systems. This makes it suitable for building cross-platform applications in areas like home automation and music production.

Getting Started with C++

To get started with C++, you need a compiler and an Integrated Development Environment (IDE). A compiler translates the C++ code into machine-readable instructions, and an IDE provides tools for writing, debugging, and executing C++ programs.

Here's a simple C++ program that prints "Hello, C++!" to the console:

TEXT/X-C++SRC
1#include <iostream>
2using namespace std;
3
4int main() {
5  cout << "Hello, C++!";
6  return 0;
7}

In this program, we include the iostream header file, which provides input/output functionalities. Then, we use the using namespace std; statement to avoid having to write std:: before standard library functions and objects.

The main() function is the entry point of a C++ program. In this example, it uses the cout object from the iostream library to print the string "Hello, C++!" to the console.

To compile and run this program, you can use a C++ compiler such as g++ on Linux or MinGW on Windows. Once you have the compiler set up, you can use the following command to compile the program:

SNIPPET
1g++ main.cpp -o hello

This command generates an executable file named hello. You can then run the program by executing the following command:

SNIPPET
1./hello

Congratulations! You have written and executed your first C++ program.

Conclusion

In this introduction to C++, you learned about the language's features and its relevance to your interests in electronics, basketball, home renovation, and music. You also wrote a simple C++ program and got familiar with the process of compiling and running C++ code. In the upcoming lessons, you will dive deeper into C++ and explore its various concepts and functionalities.

CPP
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment

Are you sure you're getting this? Fill in the missing part by typing it in.

C++ is an extension of the _ programming language.

Write the missing line below.

Generating complete for this lesson!