1. Home
  2. /
  3. C++
  4. /
  5. Class Example

Class Example - C++ Typing CST Test

Loading…

Class Example — C++ Code

Demonstrates key C++ features including classes, vectors, and modern C++ syntax.

#include <iostream>
#include <vector>
#include <string>

class Person {
private:
	std::string name;
	int age;

public:
	Person(const std::string& name, int age)
		: name(name), age(age) {}

	void introduce() const {
		std::cout << "Hi, I'm " << name << " and I'm " << age << " years old." << std::endl;
	}

	int getAge() const { return age; }
};

int main() {
	std::vector<Person> people = { Person("Alice", 25), Person("Bob", 30) };
	for (const auto& person : people) {
		person.introduce();
	}
	return 0;
}

C++ Language Guide

General-purpose, multi-paradigm programming language extending C with object-oriented features, strong type safety, and zero-cost abstractions for building high-performance applications.

Primary Use Cases

  • ▸Game development (Unreal Engine, custom engines)
  • ▸High-frequency trading systems
  • ▸Desktop applications
  • ▸Operating system components
  • ▸3D simulations and physics engines
  • ▸Embedded and automotive software
  • ▸Large-scale enterprise backends

Notable Features

  • ▸Object-oriented programming with classes
  • ▸Zero-cost abstractions
  • ▸Templates for generic programming
  • ▸Standard Template Library (STL)
  • ▸RAII memory management
  • ▸High-performance compiled binaries

Origin & Creator

Created by Bjarne Stroustrup at Bell Labs, first released in 1985. Originated as 'C with Classes' (1979), later renamed to C++ (1983). Evolved through major standards: C++98, C++03, C++11, C++14, C++17, C++20, C++23 - each introducing features like templates, STL, auto, lambdas, modules, and concepts.

Industrial Note

Dominates game engines, AAA games, high-frequency trading platforms, large-scale systems, real-time simulations, 3D engines, embedded systems, and performance-critical enterprise software.

Quick Explain

  • ▸C++ is a compiled, high-performance language supporting procedural, object-oriented, and generic programming.
  • ▸It offers fine control over memory with RAII and manual management.
  • ▸Widely used for performance-critical systems, games, engines, and large-scale applications.

Core Features

  • ▸Classes, objects, inheritance, polymorphism
  • ▸Templates and metaprogramming
  • ▸Smart pointers for memory safety
  • ▸Namespaces and modules
  • ▸Operator overloading

Learning Path

  • ▸Syntax and classes
  • ▸STL containers and algorithms
  • ▸OOP and inheritance
  • ▸Templates and generics
  • ▸Smart pointers and RAII
  • ▸Concurrency and systems

Practical Examples

  • ▸Implement a vector using dynamic memory
  • ▸Build a multithreaded server using std::thread
  • ▸Create a class hierarchy for shapes
  • ▸Develop a mini game engine component

Comparisons

  • ▸Higher-level than C
  • ▸Faster and lower-level than Java
  • ▸More flexible but complex vs Rust
  • ▸More performant than Python

Strengths

  • ▸High performance close to C
  • ▸Massive ecosystem and libraries
  • ▸Supports multiple paradigms
  • ▸Deterministic memory cleanup with RAII
  • ▸Industry-standard for games and engines

Limitations

  • ▸Complex syntax and learning curve
  • ▸Long compile times
  • ▸Undefined behavior pitfalls
  • ▸Requires careful memory management

When NOT to Use

  • ▸When rapid development is needed
  • ▸For small scripts
  • ▸For simple web apps
  • ▸When memory safety must be guaranteed automatically

Cheat Sheet

  • ▸STL containers overview
  • ▸Rule of 3/5/0
  • ▸Smart pointer types
  • ▸Move semantics cheat codes

FAQ

  • ▸Why is C++ still relevant?
  • ▸C++ remains essential for systems requiring high performance, real-time control, and zero-cost abstractions. It powers AAA games, operating systems, browsers, and high-frequency trading systems.
  • ▸Is C++ good for beginners?
  • ▸It can be challenging but teaches strong fundamentals in OOP, memory, and systems programming. Good for serious learners.
  • ▸How do I avoid memory leaks in C++?
  • ▸Use smart pointers (unique_ptr/shared_ptr), follow RAII, minimize raw pointers, and use tools like Valgrind.
  • ▸How is C++ different from C?
  • ▸C++ adds OOP, templates, exceptions, RAII, and STL while maintaining compatibility with C but offering higher abstractions.

30-Day Skill Plan

  • ▸Week 1: OOP, classes
  • ▸Week 2: STL + templates
  • ▸Week 3: Smart pointers, memory
  • ▸Week 4: Build a full application

Final Summary

  • ▸C++ is powerful, fast, and widely used.
  • ▸Enables building complex high-performance systems.
  • ▸Supports multiple paradigms with zero-cost abstractions.
  • ▸Mastering C++ opens doors to game dev, engines, trading, and systems.

Project Structure

  • ▸src/ for implementation
  • ▸include/ for headers
  • ▸cmake/ for build config
  • ▸build/ for compiled outputs
  • ▸tests/ for unit tests

Monetization

  • ▸Develop game engine tools
  • ▸Create simulations
  • ▸Build performance-critical APIs

Productivity Tips

  • ▸Use auto keyword wisely
  • ▸Use CMake presets
  • ▸Master STL algorithms
  • ▸Rely on smart pointers

Basic Concepts

  • ▸Variables, types, and references
  • ▸Classes and objects
  • ▸Inheritance and polymorphism
  • ▸Templates
  • ▸STL containers and iterators
  • ▸Smart pointers

Official Docs

  • ▸cppreference (unofficial but standard)
  • ▸ISO C++ Committee docs
  • ▸LLVM and GCC manuals

More C++ Typing Exercises

C++ Inheritance ExampleC++ Lambda ExampleC++ Smart Pointer ExampleC++ Template Function ExampleC++ Exception HandlingC++ STL Map ExampleC++ Constexpr ExampleC++ Move Semantics ExampleC++ Enum Class ExampleC++ STL Vector ExampleC++ STL Set ExampleC++ Lambda for STL Example

Practice Other Languages

CReactPythonRustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypherGremlin