C++ Module 00

Cover Image for C++ Module 00
Amine Beihaqi
Amine Beihaqi

C++ Module 00: A Dive into C++ Basics

Introduction

C++ is a powerful general-purpose programming language that extends the functionality of the C programming language. Module 00 of the C++ curriculum at 1337 coding school is designed to introduce students to key concepts such as namespaces, classes, member functions, stdio streams, initialization lists, static, const, and other fundamental elements of C++.

General Rules

Before delving into the exercises, it's crucial to adhere to some general rules. Compilation should be done using c++ with flags -Wall -Wextra -Werror, and the code should comply with the C++98 standard. The guidelines emphasize the importance of clean code, allowing developers to choose their coding style while ensuring readability for peer-evaluators.

Exercise 00: Megaphone

Task: Create a program that acts as a megaphone, converting input text to uppercase.

Example:

$>./megaphone "shhhhh... I think the students are asleep..."
SHHHHH... I THINK THE STUDENTS ARE ASLEEP...

Exercise 01: My Awesome PhoneBook

Task: Implement a basic phonebook application with functionalities to add, search, and display contacts.

Design Requirements:

  • Two classes: PhoneBook and Contact.
  • PhoneBook can store up to 8 contacts, replacing the oldest if full.
  • Contacts must include first name, last name, nickname, phone number, and darkest secret.
  • Use public and private appropriately in class design.

Exercise 02: The Job Of Your Dreams

Task: Recreate a deleted source file (Account.cpp) using provided files (Account.hpp and tests.cpp) and a log file.

Note: Exercise 02 is optional but offers an opportunity to showcase C++ skills.

Conclusion

Module 00 sets the foundation for the C++ journey at 1337 coding school. From basic syntax to implementing classes and handling file reconstruction, students gain hands-on experience with essential C++ concepts. The emphasis on clean code, adherence to guidelines, and the optional challenge in Exercise 02 make this module a valuable step in becoming proficient C++ developers.

Remember, the journey doesn't end here; it's just the beginning of a comprehensive exploration into the world of C++. Happy coding!