commit ceadc1b63ba583d9a419d6a6b8ab8e7dad8029f9 Author: aortigos Date: Wed Feb 18 10:37:42 2026 +0100 Create Class Script diff --git a/createClass.sh b/createClass.sh new file mode 100755 index 0000000..2f30f8b --- /dev/null +++ b/createClass.sh @@ -0,0 +1,94 @@ +#!/bin/bash + +if [ $# -ne 1 ]; then + echo "Usage: createClass ClassName" + exit 1 +fi + +CLASS_NAME=$1 +UPPER_NAME=$(echo "$CLASS_NAME" | tr '[:lower:]' '[:upper:]') + +mkdir -p "$CLASS_NAME" + +CPP_FILE="$CLASS_NAME/$CLASS_NAME.cpp" +HPP_FILE="$CLASS_NAME/$CLASS_NAME.hpp" + +cat < "$CPP_FILE" +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ${CLASS_NAME}.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: aortigos +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: $(date +"%Y/%m/%d %H:%M:%S") by aortigos #+# #+# */ +/* Updated: $(date +"%Y/%m/%d %H:%M:%S") by aortigos ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "${CLASS_NAME}.hpp" + +////////////////// +// Constructors // +////////////////// + +${CLASS_NAME}::${CLASS_NAME}() +{ + // std::cout << "${CLASS_NAME} default constructor called" << std::endl; +} + +${CLASS_NAME}::${CLASS_NAME}(const ${CLASS_NAME} &other) +{ + *this = other; + // std::cout << "${CLASS_NAME} copy constructor called" << std::endl; +} + +${CLASS_NAME}& ${CLASS_NAME}::operator=(const ${CLASS_NAME} &other) +{ + if (this != &other) + { + // Copy attributes here + } + // std::cout << "${CLASS_NAME} copy assignment operator called" << std::endl; + return (*this); +} + +${CLASS_NAME}::~${CLASS_NAME}() +{ + // std::cout << "${CLASS_NAME} destructor called" << std::endl; +} +EOL + +cat < "$HPP_FILE" +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ${CLASS_NAME}.hpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: aortigos +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: $(date +"%Y/%m/%d %H:%M:%S") by aortigos #+# #+# */ +/* Updated: $(date +"%Y/%m/%d %H:%M:%S") by aortigos ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef ${UPPER_NAME}_HPP +# define ${UPPER_NAME}_HPP + +# include + +class ${CLASS_NAME} +{ + private: + + public: + ${CLASS_NAME}(); + ${CLASS_NAME}(const ${CLASS_NAME} &other); + ${CLASS_NAME}& operator=(const ${CLASS_NAME} &other); + ~${CLASS_NAME}(); +}; + +#endif +EOL + +echo "Class ${CLASS_NAME} created successfully."