C++ is a superset of C with additional features. Classes represent user-defined data types in OOP. Objects are instances of classes with fields, methods, and constructors. Encapsulation binds data and functions together for security
Abstract classes cannot be instantiated but can be subclassed. Abstract methods are declared without implementation. Classes must be declared abstract if they contain abstract methods. Subclasses must implement all abstract methods or be abstract
Classes bundle data and functionality together for creating new object types. Classes are created at runtime and can be modified after creation. Classes are objects themselves, allowing importing and renaming
A class consists of instance type struct and class object global struct. Instance type contains variables and methods, class object contains global members. Classes should have interface definitions in header files and implementation in c files
JavaScript objects store related data and functionality as key-value pairs. Objects can contain other objects, arrays, functions, and more
Public members are accessible by any code in same or referenced assemblies. Private members are accessible only within containing class or struct. Protected members are accessible within containing class or derived classes. Internal members are accessible only within containing assembly