WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

C++ · Basic · question 1 of 100

What is the main difference between C and C++?

📕 Buy this interview preparation book: 100 C++ questions & answers — PDF + EPUB for $5

C and C++ are two programming languages that share many similarities, but also have some key differences.

The main difference between C and C++ is that C++ is an object-oriented programming language, while C is a procedural programming language. Object-oriented programming (OOP) is a paradigm that allows programmers to organize code around objects that represent real-world entities or concepts. This approach can make it easier to write reusable, modular, and maintainable code.

C++ extends the syntax and capabilities of C to include OOP features such as classes, encapsulation, inheritance, and polymorphism. For example, in C++, you can define a class that represents a car, with properties such as its make, model, and year, and methods to start the engine, change gears, and stop the car. You can also create new objects based on this class, each with its own set of properties and methods.

Here’s an example of a simple C++ class that represents a person:

    class Person {
        public:
        // constructor
        Person(std::string name, int age) {
            this->name = name;
            this->age = age;
        }
        
        // methods
        void sayHello() {
            std::cout << "Hello, my name is " << name << " and I'm " << age << " years old." << std::endl;
        }
        
        private:
        // properties
        std::string name;
        int age;
    };

In contrast, C does not have built-in support for OOP. Instead, it focuses on functions and structures. A structure is a collection of data items that can be accessed using pointers. For example, in C, you can define a structure that represents a person like this:

    struct Person {
        char name[50];
        int age;
    };

You can then create a variable of type Person and access its properties using the dot operator:

    struct Person p;
    strcpy(p.name, "John");
    p.age = 30;

While C doesn’t have the same level of built-in support for OOP as C++, it is still possible to write C code in an object-oriented style using functions and structures. However, this typically requires more effort and discipline on the part of the programmer.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic C++ interview — then scores it.
📞 Practice C++ — free 15 min
📕 Buy this interview preparation book: 100 C++ questions & answers — PDF + EPUB for $5

All 100 C++ questions · All topics