---
title: "Features of C++"
subject: "Object Oriented Programming"
chapter: 2
key: "semester_3/object_oriented_programming:cpp-features"
source: https://www.bctengineer.com/q/semester_3/object_oriented_programming/cpp-features
site: BCT Engineering
---

# Features of C++

Object Oriented Programming · Chapter 2: Introduction to C++

- Asked in: 2074 Chaitra, 2 marks; 2070 Chaitra, 4 marks (asked 2 times)
- Video: [Lec 5: Features of C++ Programming Language | C++ Tutorials for Beginners](https://www.youtube.com/watch?v=Hy8yG2sSvWU) — Jenny's Lectures CS IT
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_3/object_oriented_programming/cpp-features
- Whole chapter: https://www.bctengineer.com/md/semester_3/object_oriented_programming/chapter-2

## Question

Explain the features of C++.

## Short answer

C++ supports object-oriented programming with classes, encapsulation, inheritance, polymorphism, and operator/function overloading. It adds templates, exception handling, references, inline functions, new/delete, STL, and namespaces, while retaining C efficiency and portability.

## Answer

C++ was developed by Bjarne Stroustrup as an extension of C with object oriented features. Its main features are:

1. **Object oriented** - supports classes, objects, encapsulation, inheritance and polymorphism.
2. **Superset of C** - most C programs also compile in C++, and C libraries can be used.
3. **Data hiding and abstraction** - `private`, `protected` and `public` access specifiers.
4. **Function and operator overloading** - one name for several related functions, and operators that work with user-defined types.
5. **Inline, default arguments and references** - improve speed and convenience of function calls.
6. **Templates** - generic functions and classes for any data type.
7. **Exception handling** - `try`, `catch` and `throw` for run-time errors.
8. **Dynamic memory management** - `new` and `delete` operators.
9. **Standard Template Library (STL)** - ready-made containers, iterators and algorithms.
10. **Namespaces and streams** - `std` namespace, and the `iostream` classes for input and output.
11. **Portable and efficient** - gives low-level control with high-level structure, so it is fast.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Who developed C++ and as an extension of what?
   A. Dennis Ritchie; Pascal
   B. Bjarne Stroustrup; C
   C. James Gosling; Java
   D. Bjarne Stroustrup; Java
   Answer: B. C++ is C with OOP features. (Key point: Origin)

2. What do templates provide?
   A. Exception handling
   B. Memory allocation
   C. Generic functions and classes for any data type
   D. I/O streams
   Answer: C. Templates are generic programming. (Key point: Templates)

3. Which keywords implement exception handling?
   A. if, else, goto
   B. new, delete
   C. for, while
   D. try, catch, throw
   Answer: D. Exception handling uses these three. (Key point: Exceptions)

4. Which operators manage dynamic memory?
   A. new and delete
   B. malloc only
   C. cin and cout
   D. try and catch
   Answer: A. C++ uses new and delete. (Key point: Memory)
