still need to start ex02
This commit is contained in:
parent
f55c6faed3
commit
00595bf84e
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1,3 @@
|
||||
.vscode/settings.json
|
||||
*.o
|
||||
*.d
|
||||
|
||||
@ -6,16 +6,12 @@
|
||||
# By: whaffman <whaffman@student.codam.nl> +#+ #
|
||||
# +#+ #
|
||||
# Created: 2025/03/24 15:14:58 by whaffman #+# #+# #
|
||||
# Updated: 2025/04/05 17:33:17 by whaffman ######## odam.nl #
|
||||
# Updated: 2025/04/10 11:42:36 by whaffman ######## odam.nl #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
NAME= Polymorphism
|
||||
SRC= main.cpp \
|
||||
Animal.cpp \
|
||||
Dog.cpp \
|
||||
Cat.cpp \
|
||||
WrongAnimal.cpp \
|
||||
WrongCat.cpp
|
||||
TEST_SRC= Animal_test.cpp Dog_test.cpp Cat_test.cpp WrongAnimal_test.cpp WrongCat_test.cpp
|
||||
SRC= main.cpp $(TEST_SRC) Animal.cpp Dog.cpp Cat.cpp WrongAnimal.cpp WrongCat.cpp
|
||||
|
||||
-include ../common.mk
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 16:53:44 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/06 12:26:31 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/10 12:32:17 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -21,10 +21,10 @@ protected:
|
||||
|
||||
public:
|
||||
Animal();
|
||||
Animal(const Animal &animal);
|
||||
Animal(const Animal &other);
|
||||
virtual ~Animal();
|
||||
Animal &operator=(const Animal &animal);
|
||||
Animal &operator=(const Animal &other);
|
||||
|
||||
virtual void makeSound(void) const;
|
||||
virtual void makeSound(void) const;
|
||||
std::string getType(void) const;
|
||||
};
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 17:02:57 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/05 17:30:47 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/10 12:33:26 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -19,9 +19,9 @@ class Cat : public Animal
|
||||
{
|
||||
public:
|
||||
Cat();
|
||||
Cat(const Cat &cat);
|
||||
Cat(const Cat &other);
|
||||
~Cat() override;
|
||||
Cat &operator=(const Cat &cat);
|
||||
Cat &operator=(const Cat &other);
|
||||
|
||||
void makeSound(void) const override;
|
||||
};
|
||||
};
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 17:04:03 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/05 17:30:41 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/08 10:42:51 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -19,9 +19,9 @@ class Dog : public Animal
|
||||
{
|
||||
public:
|
||||
Dog();
|
||||
Dog(const Dog &Dog);
|
||||
Dog(const Dog &other);
|
||||
~Dog() override;
|
||||
Dog &operator=(const Dog &Dog);
|
||||
Dog &operator=(const Dog &other);
|
||||
|
||||
void makeSound(void) const override;
|
||||
};
|
||||
554
ex00/inc/colors.h
Normal file
554
ex00/inc/colors.h
Normal file
@ -0,0 +1,554 @@
|
||||
#ifndef COLORS_H
|
||||
#define COLORS_H
|
||||
|
||||
#define RESET "\033[m"
|
||||
|
||||
#define BOLD_UNDERLINE "\033[1;4m"
|
||||
#define BOLD_UNDERLINE_OFF "\033[22;24m"
|
||||
|
||||
#define BOLD "\033[1m"
|
||||
#define UNDERLINE "\033[4m"
|
||||
#define ITALIC "\033[3m"
|
||||
#define BLINK "\033[5m"
|
||||
#define INVERSE "\033[7m"
|
||||
#define STRIKETHROUGH "\033[9m"
|
||||
|
||||
#define BOLD_OFF "\033[22m"
|
||||
#define UNDERLINE_OFF "\033[24m"
|
||||
#define ITALIC_OFF "\033[23m"
|
||||
#define BLINK_OFF "\033[25m"
|
||||
#define INVERSE_OFF "\033[27m"
|
||||
#define STRIKETHROUGH_OFF "\033[29m"
|
||||
|
||||
#define REVERSE "\033[7m"
|
||||
|
||||
#define BLACK "\033[30m"
|
||||
#define RED "\033[31m"
|
||||
#define GREEN "\033[32m"
|
||||
#define YELLOW "\033[33m"
|
||||
#define BLUE "\033[34m"
|
||||
#define MAGENTA "\033[35m"
|
||||
#define CYAN "\033[36m"
|
||||
#define WHITE "\033[37m"
|
||||
|
||||
#define COLOR0 "\033[38;5;0m"
|
||||
#define COLOR1 "\033[38;5;1m"
|
||||
#define COLOR2 "\033[38;5;2m"
|
||||
#define COLOR3 "\033[38;5;3m"
|
||||
#define COLOR4 "\033[38;5;4m"
|
||||
#define COLOR5 "\033[38;5;5m"
|
||||
#define COLOR6 "\033[38;5;6m"
|
||||
#define COLOR7 "\033[38;5;7m"
|
||||
#define COLOR8 "\033[38;5;8m"
|
||||
#define COLOR9 "\033[38;5;9m"
|
||||
#define COLOR10 "\033[38;5;10m"
|
||||
#define COLOR11 "\033[38;5;11m"
|
||||
#define COLOR12 "\033[38;5;12m"
|
||||
#define COLOR13 "\033[38;5;13m"
|
||||
#define COLOR14 "\033[38;5;14m"
|
||||
#define COLOR15 "\033[38;5;15m"
|
||||
|
||||
#define BACKGROUND0 "\033[48;5;0m"
|
||||
#define BACKGROUND1 "\033[48;5;1m"
|
||||
#define BACKGROUND2 "\033[48;5;2m"
|
||||
#define BACKGROUND3 "\033[48;5;3m"
|
||||
#define BACKGROUND4 "\033[48;5;4m"
|
||||
#define BACKGROUND5 "\033[48;5;5m"
|
||||
#define BACKGROUND6 "\033[48;5;6m"
|
||||
#define BACKGROUND7 "\033[48;5;7m"
|
||||
#define BACKGROUND8 "\033[48;5;8m"
|
||||
#define BACKGROUND9 "\033[48;5;9m"
|
||||
#define BACKGROUND10 "\033[48;5;10m"
|
||||
#define BACKGROUND11 "\033[48;5;11m"
|
||||
#define BACKGROUND12 "\033[48;5;12m"
|
||||
#define BACKGROUND13 "\033[48;5;13m"
|
||||
#define BACKGROUND14 "\033[48;5;14m"
|
||||
#define BACKGROUND15 "\033[48;5;15m"
|
||||
|
||||
// #define COLOR16 "\033[38;5;16m"
|
||||
// #define COLOR17 "\033[38;5;17m"
|
||||
// #define COLOR18 "\033[38;5;18m"
|
||||
// #define COLOR19 "\033[38;5;19m"
|
||||
// #define COLOR20 "\033[38;5;20m"
|
||||
// #define COLOR21 "\033[38;5;21m"
|
||||
// #define COLOR22 "\033[38;5;22m"
|
||||
// #define COLOR23 "\033[38;5;23m"
|
||||
// #define COLOR24 "\033[38;5;24m"
|
||||
// #define COLOR25 "\033[38;5;25m"
|
||||
// #define COLOR26 "\033[38;5;26m"
|
||||
// #define COLOR27 "\033[38;5;27m"
|
||||
// #define COLOR28 "\033[38;5;28m"
|
||||
// #define COLOR29 "\033[38;5;29m"
|
||||
// #define COLOR30 "\033[38;5;30m"
|
||||
// #define COLOR31 "\033[38;5;31m"
|
||||
// #define COLOR32 "\033[38;5;32m"
|
||||
// #define COLOR33 "\033[38;5;33m"
|
||||
// #define COLOR34 "\033[38;5;34m"
|
||||
// #define COLOR35 "\033[38;5;35m"
|
||||
// #define COLOR36 "\033[38;5;36m"
|
||||
// #define COLOR37 "\033[38;5;37m"
|
||||
// #define COLOR38 "\033[38;5;38m"
|
||||
// #define COLOR39 "\033[38;5;39m"
|
||||
// #define COLOR40 "\033[38;5;40m"
|
||||
// #define COLOR41 "\033[38;5;41m"
|
||||
// #define COLOR42 "\033[38;5;42m"
|
||||
// #define COLOR43 "\033[38;5;43m"
|
||||
// #define COLOR44 "\033[38;5;44m"
|
||||
// #define COLOR45 "\033[38;5;45m"
|
||||
// #define COLOR46 "\033[38;5;46m"
|
||||
// #define COLOR47 "\033[38;5;47m"
|
||||
// #define COLOR48 "\033[38;5;48m"
|
||||
// #define COLOR49 "\033[38;5;49m"
|
||||
// #define COLOR50 "\033[38;5;50m"
|
||||
// #define COLOR51 "\033[38;5;51m"
|
||||
// #define COLOR52 "\033[38;5;52m"
|
||||
// #define COLOR53 "\033[38;5;53m"
|
||||
// #define COLOR54 "\033[38;5;54m"
|
||||
// #define COLOR55 "\033[38;5;55m"
|
||||
// #define COLOR56 "\033[38;5;56m"
|
||||
// #define COLOR57 "\033[38;5;57m"
|
||||
// #define COLOR58 "\033[38;5;58m"
|
||||
// #define COLOR59 "\033[38;5;59m"
|
||||
// #define COLOR60 "\033[38;5;60m"
|
||||
// #define COLOR61 "\033[38;5;61m"
|
||||
// #define COLOR62 "\033[38;5;62m"
|
||||
// #define COLOR63 "\033[38;5;63m"
|
||||
// #define COLOR64 "\033[38;5;64m"
|
||||
// #define COLOR65 "\033[38;5;65m"
|
||||
// #define COLOR66 "\033[38;5;66m"
|
||||
// #define COLOR67 "\033[38;5;67m"
|
||||
// #define COLOR68 "\033[38;5;68m"
|
||||
// #define COLOR69 "\033[38;5;69m"
|
||||
// #define COLOR70 "\033[38;5;70m"
|
||||
// #define COLOR71 "\033[38;5;71m"
|
||||
// #define COLOR72 "\033[38;5;72m"
|
||||
// #define COLOR73 "\033[38;5;73m"
|
||||
// #define COLOR74 "\033[38;5;74m"
|
||||
// #define COLOR75 "\033[38;5;75m"
|
||||
// #define COLOR76 "\033[38;5;76m"
|
||||
// #define COLOR77 "\033[38;5;77m"
|
||||
// #define COLOR78 "\033[38;5;78m"
|
||||
// #define COLOR79 "\033[38;5;79m"
|
||||
// #define COLOR80 "\033[38;5;80m"
|
||||
// #define COLOR81 "\033[38;5;81m"
|
||||
// #define COLOR82 "\033[38;5;82m"
|
||||
// #define COLOR83 "\033[38;5;83m"
|
||||
// #define COLOR84 "\033[38;5;84m"
|
||||
// #define COLOR85 "\033[38;5;85m"
|
||||
// #define COLOR86 "\033[38;5;86m"
|
||||
// #define COLOR87 "\033[38;5;87m"
|
||||
// #define COLOR88 "\033[38;5;88m"
|
||||
// #define COLOR89 "\033[38;5;89m"
|
||||
// #define COLOR90 "\033[38;5;90m"
|
||||
// #define COLOR91 "\033[38;5;91m"
|
||||
// #define COLOR92 "\033[38;5;92m"
|
||||
// #define COLOR93 "\033[38;5;93m"
|
||||
// #define COLOR94 "\033[38;5;94m"
|
||||
// #define COLOR95 "\033[38;5;95m"
|
||||
// #define COLOR96 "\033[38;5;96m"
|
||||
// #define COLOR97 "\033[38;5;97m"
|
||||
// #define COLOR98 "\033[38;5;98m"
|
||||
// #define COLOR99 "\033[38;5;99m"
|
||||
// #define COLOR100 "\033[38;5;100m"
|
||||
// #define COLOR101 "\033[38;5;101m"
|
||||
// #define COLOR102 "\033[38;5;102m"
|
||||
// #define COLOR103 "\033[38;5;103m"
|
||||
// #define COLOR104 "\033[38;5;104m"
|
||||
// #define COLOR105 "\033[38;5;105m"
|
||||
// #define COLOR106 "\033[38;5;106m"
|
||||
// #define COLOR107 "\033[38;5;107m"
|
||||
// #define COLOR108 "\033[38;5;108m"
|
||||
// #define COLOR109 "\033[38;5;109m"
|
||||
// #define COLOR110 "\033[38;5;110m"
|
||||
// #define COLOR111 "\033[38;5;111m"
|
||||
// #define COLOR112 "\033[38;5;112m"
|
||||
// #define COLOR113 "\033[38;5;113m"
|
||||
// #define COLOR114 "\033[38;5;114m"
|
||||
// #define COLOR115 "\033[38;5;115m"
|
||||
// #define COLOR116 "\033[38;5;116m"
|
||||
// #define COLOR117 "\033[38;5;117m"
|
||||
// #define COLOR118 "\033[38;5;118m"
|
||||
// #define COLOR119 "\033[38;5;119m"
|
||||
// #define COLOR120 "\033[38;5;120m"
|
||||
// #define COLOR121 "\033[38;5;121m"
|
||||
// #define COLOR122 "\033[38;5;122m"
|
||||
// #define COLOR123 "\033[38;5;123m"
|
||||
// #define COLOR124 "\033[38;5;124m"
|
||||
// #define COLOR125 "\033[38;5;125m"
|
||||
// #define COLOR126 "\033[38;5;126m"
|
||||
// #define COLOR127 "\033[38;5;127m"
|
||||
// #define COLOR128 "\033[38;5;128m"
|
||||
// #define COLOR129 "\033[38;5;129m"
|
||||
// #define COLOR130 "\033[38;5;130m"
|
||||
// #define COLOR131 "\033[38;5;131m"
|
||||
// #define COLOR132 "\033[38;5;132m"
|
||||
// #define COLOR133 "\033[38;5;133m"
|
||||
// #define COLOR134 "\033[38;5;134m"
|
||||
// #define COLOR135 "\033[38;5;135m"
|
||||
// #define COLOR136 "\033[38;5;136m"
|
||||
// #define COLOR137 "\033[38;5;137m"
|
||||
// #define COLOR138 "\033[38;5;138m"
|
||||
// #define COLOR139 "\033[38;5;139m"
|
||||
// #define COLOR140 "\033[38;5;140m"
|
||||
// #define COLOR141 "\033[38;5;141m"
|
||||
// #define COLOR142 "\033[38;5;142m"
|
||||
// #define COLOR143 "\033[38;5;143m"
|
||||
// #define COLOR144 "\033[38;5;144m"
|
||||
// #define COLOR145 "\033[38;5;145m"
|
||||
// #define COLOR146 "\033[38;5;146m"
|
||||
// #define COLOR147 "\033[38;5;147m"
|
||||
// #define COLOR148 "\033[38;5;148m"
|
||||
// #define COLOR149 "\033[38;5;149m"
|
||||
// #define COLOR150 "\033[38;5;150m"
|
||||
// #define COLOR151 "\033[38;5;151m"
|
||||
// #define COLOR152 "\033[38;5;152m"
|
||||
// #define COLOR153 "\033[38;5;153m"
|
||||
// #define COLOR154 "\033[38;5;154m"
|
||||
// #define COLOR155 "\033[38;5;155m"
|
||||
// #define COLOR156 "\033[38;5;156m"
|
||||
// #define COLOR157 "\033[38;5;157m"
|
||||
// #define COLOR158 "\033[38;5;158m"
|
||||
// #define COLOR159 "\033[38;5;159m"
|
||||
// #define COLOR160 "\033[38;5;160m"
|
||||
// #define COLOR161 "\033[38;5;161m"
|
||||
// #define COLOR162 "\033[38;5;162m"
|
||||
// #define COLOR163 "\033[38;5;163m"
|
||||
// #define COLOR164 "\033[38;5;164m"
|
||||
// #define COLOR165 "\033[38;5;165m"
|
||||
// #define COLOR166 "\033[38;5;166m"
|
||||
// #define COLOR167 "\033[38;5;167m"
|
||||
// #define COLOR168 "\033[38;5;168m"
|
||||
// #define COLOR169 "\033[38;5;169m"
|
||||
// #define COLOR170 "\033[38;5;170m"
|
||||
// #define COLOR171 "\033[38;5;171m"
|
||||
// #define COLOR172 "\033[38;5;172m"
|
||||
// #define COLOR173 "\033[38;5;173m"
|
||||
// #define COLOR174 "\033[38;5;174m"
|
||||
// #define COLOR175 "\033[38;5;175m"
|
||||
// #define COLOR176 "\033[38;5;176m"
|
||||
// #define COLOR177 "\033[38;5;177m"
|
||||
// #define COLOR178 "\033[38;5;178m"
|
||||
// #define COLOR179 "\033[38;5;179m"
|
||||
// #define COLOR180 "\033[38;5;180m"
|
||||
// #define COLOR181 "\033[38;5;181m"
|
||||
// #define COLOR182 "\033[38;5;182m"
|
||||
// #define COLOR183 "\033[38;5;183m"
|
||||
// #define COLOR184 "\033[38;5;184m"
|
||||
// #define COLOR185 "\033[38;5;185m"
|
||||
// #define COLOR186 "\033[38;5;186m"
|
||||
// #define COLOR187 "\033[38;5;187m"
|
||||
// #define COLOR188 "\033[38;5;188m"
|
||||
// #define COLOR189 "\033[38;5;189m"
|
||||
// #define COLOR190 "\033[38;5;190m"
|
||||
// #define COLOR191 "\033[38;5;191m"
|
||||
// #define COLOR192 "\033[38;5;192m"
|
||||
// #define COLOR193 "\033[38;5;193m"
|
||||
// #define COLOR194 "\033[38;5;194m"
|
||||
// #define COLOR195 "\033[38;5;195m"
|
||||
// #define COLOR196 "\033[38;5;196m"
|
||||
// #define COLOR197 "\033[38;5;197m"
|
||||
// #define COLOR198 "\033[38;5;198m"
|
||||
// #define COLOR199 "\033[38;5;199m"
|
||||
// #define COLOR200 "\033[38;5;200m"
|
||||
// #define COLOR201 "\033[38;5;201m"
|
||||
// #define COLOR202 "\033[38;5;202m"
|
||||
// #define COLOR203 "\033[38;5;203m"
|
||||
// #define COLOR204 "\033[38;5;204m"
|
||||
// #define COLOR205 "\033[38;5;205m"
|
||||
// #define COLOR206 "\033[38;5;206m"
|
||||
// #define COLOR207 "\033[38;5;207m"
|
||||
// #define COLOR208 "\033[38;5;208m"
|
||||
// #define COLOR209 "\033[38;5;209m"
|
||||
// #define COLOR210 "\033[38;5;210m"
|
||||
// #define COLOR211 "\033[38;5;211m"
|
||||
// #define COLOR212 "\033[38;5;212m"
|
||||
// #define COLOR213 "\033[38;5;213m"
|
||||
// #define COLOR214 "\033[38;5;214m"
|
||||
// #define COLOR215 "\033[38;5;215m"
|
||||
// #define COLOR216 "\033[38;5;216m"
|
||||
// #define COLOR217 "\033[38;5;217m"
|
||||
// #define COLOR218 "\033[38;5;218m"
|
||||
// #define COLOR219 "\033[38;5;219m"
|
||||
// #define COLOR220 "\033[38;5;220m"
|
||||
// #define COLOR221 "\033[38;5;221m"
|
||||
// #define COLOR222 "\033[38;5;222m"
|
||||
// #define COLOR223 "\033[38;5;223m"
|
||||
// #define COLOR224 "\033[38;5;224m"
|
||||
// #define COLOR225 "\033[38;5;225m"
|
||||
// #define COLOR226 "\033[38;5;226m"
|
||||
// #define COLOR227 "\033[38;5;227m"
|
||||
// #define COLOR228 "\033[38;5;228m"
|
||||
// #define COLOR229 "\033[38;5;229m"
|
||||
// #define COLOR230 "\033[38;5;230m"
|
||||
// #define COLOR231 "\033[38;5;231m"
|
||||
// #define COLOR232 "\033[38;5;232m"
|
||||
// #define COLOR233 "\033[38;5;233m"
|
||||
// #define COLOR234 "\033[38;5;234m"
|
||||
// #define COLOR235 "\033[38;5;235m"
|
||||
// #define COLOR236 "\033[38;5;236m"
|
||||
// #define COLOR237 "\033[38;5;237m"
|
||||
// #define COLOR238 "\033[38;5;238m"
|
||||
// #define COLOR239 "\033[38;5;239m"
|
||||
// #define COLOR240 "\033[38;5;240m"
|
||||
// #define COLOR241 "\033[38;5;241m"
|
||||
// #define COLOR242 "\033[38;5;242m"
|
||||
// #define COLOR243 "\033[38;5;243m"
|
||||
// #define COLOR244 "\033[38;5;244m"
|
||||
// #define COLOR245 "\033[38;5;245m"
|
||||
// #define COLOR246 "\033[38;5;246m"
|
||||
// #define COLOR247 "\033[38;5;247m"
|
||||
// #define COLOR248 "\033[38;5;248m"
|
||||
// #define COLOR249 "\033[38;5;249m"
|
||||
// #define COLOR250 "\033[38;5;250m"
|
||||
// #define COLOR251 "\033[38;5;251m"
|
||||
// #define COLOR252 "\033[38;5;252m"
|
||||
// #define COLOR253 "\033[38;5;253m"
|
||||
// #define COLOR254 "\033[38;5;254m"
|
||||
// #define COLOR255 "\033[38;5;255m"
|
||||
|
||||
|
||||
// #define BACKGROUND16 "\033[48;5;16m"
|
||||
// #define BACKGROUND17 "\033[48;5;17m"
|
||||
// #define BACKGROUND18 "\033[48;5;18m"
|
||||
// #define BACKGROUND19 "\033[48;5;19m"
|
||||
// #define BACKGROUND20 "\033[48;5;20m"
|
||||
// #define BACKGROUND21 "\033[48;5;21m"
|
||||
// #define BACKGROUND22 "\033[48;5;22m"
|
||||
// #define BACKGROUND23 "\033[48;5;23m"
|
||||
// #define BACKGROUND24 "\033[48;5;24m"
|
||||
// #define BACKGROUND25 "\033[48;5;25m"
|
||||
// #define BACKGROUND26 "\033[48;5;26m"
|
||||
// #define BACKGROUND27 "\033[48;5;27m"
|
||||
// #define BACKGROUND28 "\033[48;5;28m"
|
||||
// #define BACKGROUND29 "\033[48;5;29m"
|
||||
// #define BACKGROUND30 "\033[48;5;30m"
|
||||
// #define BACKGROUND31 "\033[48;5;31m"
|
||||
// #define BACKGROUND32 "\033[48;5;32m"
|
||||
// #define BACKGROUND33 "\033[48;5;33m"
|
||||
// #define BACKGROUND34 "\033[48;5;34m"
|
||||
// #define BACKGROUND35 "\033[48;5;35m"
|
||||
// #define BACKGROUND36 "\033[48;5;36m"
|
||||
// #define BACKGROUND37 "\033[48;5;37m"
|
||||
// #define BACKGROUND38 "\033[48;5;38m"
|
||||
// #define BACKGROUND39 "\033[48;5;39m"
|
||||
// #define BACKGROUND40 "\033[48;5;40m"
|
||||
// #define BACKGROUND41 "\033[48;5;41m"
|
||||
// #define BACKGROUND42 "\033[48;5;42m"
|
||||
// #define BACKGROUND43 "\033[48;5;43m"
|
||||
// #define BACKGROUND44 "\033[48;5;44m"
|
||||
// #define BACKGROUND45 "\033[48;5;45m"
|
||||
// #define BACKGROUND46 "\033[48;5;46m"
|
||||
// #define BACKGROUND47 "\033[48;5;47m"
|
||||
// #define BACKGROUND48 "\033[48;5;48m"
|
||||
// #define BACKGROUND49 "\033[48;5;49m"
|
||||
// #define BACKGROUND50 "\033[48;5;50m"
|
||||
// #define BACKGROUND51 "\033[48;5;51m"
|
||||
// #define BACKGROUND52 "\033[48;5;52m"
|
||||
// #define BACKGROUND53 "\033[48;5;53m"
|
||||
// #define BACKGROUND54 "\033[48;5;54m"
|
||||
// #define BACKGROUND55 "\033[48;5;55m"
|
||||
// #define BACKGROUND56 "\033[48;5;56m"
|
||||
// #define BACKGROUND57 "\033[48;5;57m"
|
||||
// #define BACKGROUND58 "\033[48;5;58m"
|
||||
// #define BACKGROUND59 "\033[48;5;59m"
|
||||
// #define BACKGROUND60 "\033[48;5;60m"
|
||||
// #define BACKGROUND61 "\033[48;5;61m"
|
||||
// #define BACKGROUND62 "\033[48;5;62m"
|
||||
// #define BACKGROUND63 "\033[48;5;63m"
|
||||
// #define BACKGROUND64 "\033[48;5;64m"
|
||||
// #define BACKGROUND65 "\033[48;5;65m"
|
||||
// #define BACKGROUND66 "\033[48;5;66m"
|
||||
// #define BACKGROUND67 "\033[48;5;67m"
|
||||
// #define BACKGROUND68 "\033[48;5;68m"
|
||||
// #define BACKGROUND69 "\033[48;5;69m"
|
||||
// #define BACKGROUND70 "\033[48;5;70m"
|
||||
// #define BACKGROUND71 "\033[48;5;71m"
|
||||
// #define BACKGROUND72 "\033[48;5;72m"
|
||||
// #define BACKGROUND73 "\033[48;5;73m"
|
||||
// #define BACKGROUND74 "\033[48;5;74m"
|
||||
// #define BACKGROUND75 "\033[48;5;75m"
|
||||
// #define BACKGROUND76 "\033[48;5;76m"
|
||||
// #define BACKGROUND77 "\033[48;5;77m"
|
||||
// #define BACKGROUND78 "\033[48;5;78m"
|
||||
// #define BACKGROUND79 "\033[48;5;79m"
|
||||
// #define BACKGROUND80 "\033[48;5;80m"
|
||||
// #define BACKGROUND81 "\033[48;5;81m"
|
||||
// #define BACKGROUND82 "\033[48;5;82m"
|
||||
// #define BACKGROUND83 "\033[48;5;83m"
|
||||
// #define BACKGROUND84 "\033[48;5;84m"
|
||||
// #define BACKGROUND85 "\033[48;5;85m"
|
||||
// #define BACKGROUND86 "\033[48;5;86m"
|
||||
// #define BACKGROUND87 "\033[48;5;87m"
|
||||
// #define BACKGROUND88 "\033[48;5;88m"
|
||||
// #define BACKGROUND89 "\033[48;5;89m"
|
||||
// #define BACKGROUND90 "\033[48;5;90m"
|
||||
// #define BACKGROUND91 "\033[48;5;91m"
|
||||
// #define BACKGROUND92 "\033[48;5;92m"
|
||||
// #define BACKGROUND93 "\033[48;5;93m"
|
||||
// #define BACKGROUND94 "\033[48;5;94m"
|
||||
// #define BACKGROUND95 "\033[48;5;95m"
|
||||
// #define BACKGROUND96 "\033[48;5;96m"
|
||||
// #define BACKGROUND97 "\033[48;5;97m"
|
||||
// #define BACKGROUND98 "\033[48;5;98m"
|
||||
// #define BACKGROUND99 "\033[48;5;99m"
|
||||
// #define BACKGROUND100 "\033[48;5;100m"
|
||||
// #define BACKGROUND101 "\033[48;5;101m"
|
||||
// #define BACKGROUND102 "\033[48;5;102m"
|
||||
// #define BACKGROUND103 "\033[48;5;103m"
|
||||
// #define BACKGROUND104 "\033[48;5;104m"
|
||||
// #define BACKGROUND105 "\033[48;5;105m"
|
||||
// #define BACKGROUND106 "\033[48;5;106m"
|
||||
// #define BACKGROUND107 "\033[48;5;107m"
|
||||
// #define BACKGROUND108 "\033[48;5;108m"
|
||||
// #define BACKGROUND109 "\033[48;5;109m"
|
||||
// #define BACKGROUND110 "\033[48;5;110m"
|
||||
// #define BACKGROUND111 "\033[48;5;111m"
|
||||
// #define BACKGROUND112 "\033[48;5;112m"
|
||||
// #define BACKGROUND113 "\033[48;5;113m"
|
||||
// #define BACKGROUND114 "\033[48;5;114m"
|
||||
// #define BACKGROUND115 "\033[48;5;115m"
|
||||
// #define BACKGROUND116 "\033[48;5;116m"
|
||||
// #define BACKGROUND117 "\033[48;5;117m"
|
||||
// #define BACKGROUND118 "\033[48;5;118m"
|
||||
// #define BACKGROUND119 "\033[48;5;119m"
|
||||
// #define BACKGROUND120 "\033[48;5;120m"
|
||||
// #define BACKGROUND121 "\033[48;5;121m"
|
||||
// #define BACKGROUND122 "\033[48;5;122m"
|
||||
// #define BACKGROUND123 "\033[48;5;123m"
|
||||
// #define BACKGROUND124 "\033[48;5;124m"
|
||||
// #define BACKGROUND125 "\033[48;5;125m"
|
||||
// #define BACKGROUND126 "\033[48;5;126m"
|
||||
// #define BACKGROUND127 "\033[48;5;127m"
|
||||
// #define BACKGROUND128 "\033[48;5;128m"
|
||||
// #define BACKGROUND129 "\033[48;5;129m"
|
||||
// #define BACKGROUND130 "\033[48;5;130m"
|
||||
// #define BACKGROUND131 "\033[48;5;131m"
|
||||
// #define BACKGROUND132 "\033[48;5;132m"
|
||||
// #define BACKGROUND133 "\033[48;5;133m"
|
||||
// #define BACKGROUND134 "\033[48;5;134m"
|
||||
// #define BACKGROUND135 "\033[48;5;135m"
|
||||
// #define BACKGROUND136 "\033[48;5;136m"
|
||||
// #define BACKGROUND137 "\033[48;5;137m"
|
||||
// #define BACKGROUND138 "\033[48;5;138m"
|
||||
// #define BACKGROUND139 "\033[48;5;139m"
|
||||
// #define BACKGROUND140 "\033[48;5;140m"
|
||||
// #define BACKGROUND141 "\033[48;5;141m"
|
||||
// #define BACKGROUND142 "\033[48;5;142m"
|
||||
// #define BACKGROUND143 "\033[48;5;143m"
|
||||
// #define BACKGROUND144 "\033[48;5;144m"
|
||||
// #define BACKGROUND145 "\033[48;5;145m"
|
||||
// #define BACKGROUND146 "\033[48;5;146m"
|
||||
// #define BACKGROUND147 "\033[48;5;147m"
|
||||
// #define BACKGROUND148 "\033[48;5;148m"
|
||||
// #define BACKGROUND149 "\033[48;5;149m"
|
||||
// #define BACKGROUND150 "\033[48;5;150m"
|
||||
// #define BACKGROUND151 "\033[48;5;151m"
|
||||
// #define BACKGROUND152 "\033[48;5;152m"
|
||||
// #define BACKGROUND153 "\033[48;5;153m"
|
||||
// #define BACKGROUND154 "\033[48;5;154m"
|
||||
// #define BACKGROUND155 "\033[48;5;155m"
|
||||
// #define BACKGROUND156 "\033[48;5;156m"
|
||||
// #define BACKGROUND157 "\033[48;5;157m"
|
||||
// #define BACKGROUND158 "\033[48;5;158m"
|
||||
// #define BACKGROUND159 "\033[48;5;159m"
|
||||
// #define BACKGROUND160 "\033[48;5;160m"
|
||||
// #define BACKGROUND161 "\033[48;5;161m"
|
||||
// #define BACKGROUND162 "\033[48;5;162m"
|
||||
// #define BACKGROUND163 "\033[48;5;163m"
|
||||
// #define BACKGROUND164 "\033[48;5;164m"
|
||||
// #define BACKGROUND165 "\033[48;5;165m"
|
||||
// #define BACKGROUND166 "\033[48;5;166m"
|
||||
// #define BACKGROUND167 "\033[48;5;167m"
|
||||
// #define BACKGROUND168 "\033[48;5;168m"
|
||||
// #define BACKGROUND169 "\033[48;5;169m"
|
||||
// #define BACKGROUND170 "\033[48;5;170m"
|
||||
// #define BACKGROUND171 "\033[48;5;171m"
|
||||
// #define BACKGROUND172 "\033[48;5;172m"
|
||||
// #define BACKGROUND173 "\033[48;5;173m"
|
||||
// #define BACKGROUND174 "\033[48;5;174m"
|
||||
// #define BACKGROUND175 "\033[48;5;175m"
|
||||
// #define BACKGROUND176 "\033[48;5;176m"
|
||||
// #define BACKGROUND177 "\033[48;5;177m"
|
||||
// #define BACKGROUND178 "\033[48;5;178m"
|
||||
// #define BACKGROUND179 "\033[48;5;179m"
|
||||
// #define BACKGROUND180 "\033[48;5;180m"
|
||||
// #define BACKGROUND181 "\033[48;5;181m"
|
||||
// #define BACKGROUND182 "\033[48;5;182m"
|
||||
// #define BACKGROUND183 "\033[48;5;183m"
|
||||
// #define BACKGROUND184 "\033[48;5;184m"
|
||||
// #define BACKGROUND185 "\033[48;5;185m"
|
||||
// #define BACKGROUND186 "\033[48;5;186m"
|
||||
// #define BACKGROUND187 "\033[48;5;187m"
|
||||
// #define BACKGROUND188 "\033[48;5;188m"
|
||||
// #define BACKGROUND189 "\033[48;5;189m"
|
||||
// #define BACKGROUND190 "\033[48;5;190m"
|
||||
// #define BACKGROUND191 "\033[48;5;191m"
|
||||
// #define BACKGROUND192 "\033[48;5;192m"
|
||||
// #define BACKGROUND193 "\033[48;5;193m"
|
||||
// #define BACKGROUND194 "\033[48;5;194m"
|
||||
// #define BACKGROUND195 "\033[48;5;195m"
|
||||
// #define BACKGROUND196 "\033[48;5;196m"
|
||||
// #define BACKGROUND197 "\033[48;5;197m"
|
||||
// #define BACKGROUND198 "\033[48;5;198m"
|
||||
// #define BACKGROUND199 "\033[48;5;199m"
|
||||
// #define BACKGROUND200 "\033[48;5;200m"
|
||||
// #define BACKGROUND201 "\033[48;5;201m"
|
||||
// #define BACKGROUND202 "\033[48;5;202m"
|
||||
// #define BACKGROUND203 "\033[48;5;203m"
|
||||
// #define BACKGROUND204 "\033[48;5;204m"
|
||||
// #define BACKGROUND205 "\033[48;5;205m"
|
||||
// #define BACKGROUND206 "\033[48;5;206m"
|
||||
// #define BACKGROUND207 "\033[48;5;207m"
|
||||
// #define BACKGROUND208 "\033[48;5;208m"
|
||||
// #define BACKGROUND209 "\033[48;5;209m"
|
||||
// #define BACKGROUND210 "\033[48;5;210m"
|
||||
// #define BACKGROUND211 "\033[48;5;211m"
|
||||
// #define BACKGROUND212 "\033[48;5;212m"
|
||||
// #define BACKGROUND213 "\033[48;5;213m"
|
||||
// #define BACKGROUND214 "\033[48;5;214m"
|
||||
// #define BACKGROUND215 "\033[48;5;215m"
|
||||
// #define BACKGROUND216 "\033[48;5;216m"
|
||||
// #define BACKGROUND217 "\033[48;5;217m"
|
||||
// #define BACKGROUND218 "\033[48;5;218m"
|
||||
// #define BACKGROUND219 "\033[48;5;219m"
|
||||
// #define BACKGROUND220 "\033[48;5;220m"
|
||||
// #define BACKGROUND221 "\033[48;5;221m"
|
||||
// #define BACKGROUND222 "\033[48;5;222m"
|
||||
// #define BACKGROUND223 "\033[48;5;223m"
|
||||
// #define BACKGROUND224 "\033[48;5;224m"
|
||||
// #define BACKGROUND225 "\033[48;5;225m"
|
||||
// #define BACKGROUND226 "\033[48;5;226m"
|
||||
// #define BACKGROUND227 "\033[48;5;227m"
|
||||
// #define BACKGROUND228 "\033[48;5;228m"
|
||||
// #define BACKGROUND229 "\033[48;5;229m"
|
||||
// #define BACKGROUND230 "\033[48;5;230m"
|
||||
// #define BACKGROUND231 "\033[48;5;231m"
|
||||
// #define BACKGROUND232 "\033[48;5;232m"
|
||||
// #define BACKGROUND233 "\033[48;5;233m"
|
||||
// #define BACKGROUND234 "\033[48;5;234m"
|
||||
// #define BACKGROUND235 "\033[48;5;235m"
|
||||
// #define BACKGROUND236 "\033[48;5;236m"
|
||||
// #define BACKGROUND237 "\033[48;5;237m"
|
||||
// #define BACKGROUND238 "\033[48;5;238m"
|
||||
// #define BACKGROUND239 "\033[48;5;239m"
|
||||
// #define BACKGROUND240 "\033[48;5;240m"
|
||||
// #define BACKGROUND241 "\033[48;5;241m"
|
||||
// #define BACKGROUND242 "\033[48;5;242m"
|
||||
// #define BACKGROUND243 "\033[48;5;243m"
|
||||
// #define BACKGROUND244 "\033[48;5;244m"
|
||||
// #define BACKGROUND245 "\033[48;5;245m"
|
||||
// #define BACKGROUND246 "\033[48;5;246m"
|
||||
// #define BACKGROUND247 "\033[48;5;247m"
|
||||
// #define BACKGROUND248 "\033[48;5;248m"
|
||||
// #define BACKGROUND249 "\033[48;5;249m"
|
||||
// #define BACKGROUND250 "\033[48;5;250m"
|
||||
// #define BACKGROUND251 "\033[48;5;251m"
|
||||
// #define BACKGROUND252 "\033[48;5;252m"
|
||||
// #define BACKGROUND253 "\033[48;5;253m"
|
||||
// #define BACKGROUND254 "\033[48;5;254m"
|
||||
// #define BACKGROUND255 "\033[48;5;255m"
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
19
ex00/inc/tests.hpp
Normal file
19
ex00/inc/tests.hpp
Normal file
@ -0,0 +1,19 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* :::::::: */
|
||||
/* tests.hpp :+: :+: */
|
||||
/* +:+ */
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/10 11:35:46 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/10 11:36:09 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#pragma once
|
||||
|
||||
void testAnimal(void);
|
||||
void testCat(void);
|
||||
void testDog(void);
|
||||
void testWrongAnimal(void);
|
||||
void testWrongCat(void);
|
||||
@ -6,40 +6,43 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 16:59:26 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/06 12:26:31 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/10 11:33:29 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "Animal.hpp"
|
||||
#include <iostream>
|
||||
#include "colors.h"
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
Animal::Animal()
|
||||
{
|
||||
this->type = "Animal";
|
||||
std::cout << "Animal default constructor called" << std::endl;
|
||||
}
|
||||
Animal::Animal(const Animal &animal) : type(animal.type)
|
||||
std::cout << BACKGROUND12 << BOLD << "Animal" << RESET <<" default constructor called" << std::endl;
|
||||
}
|
||||
Animal::Animal(const Animal &other) : type(other.type)
|
||||
{
|
||||
std::cout << "Animal copy constructor called" << std::endl;
|
||||
std::cout << BACKGROUND12 << BOLD << "Animal" << RESET << " copy constructor called on an animal of type: " << type << std::endl;
|
||||
}
|
||||
Animal::~Animal()
|
||||
{
|
||||
std::cout << "Animal destructor called" << std::endl;
|
||||
std::cout << BACKGROUND12 << BOLD << "Animal" << RESET << " destructor called" << std::endl;
|
||||
}
|
||||
Animal &Animal::operator=(const Animal &animal)
|
||||
Animal &Animal::operator=(const Animal &other)
|
||||
{
|
||||
std::cout << "Animal assignment operator called" << std::endl;
|
||||
if (this == &animal)
|
||||
std::cout << BACKGROUND12 << BOLD << "Animal" << RESET << " assignment operator called" << std::endl;
|
||||
if (this == &other)
|
||||
return *this;
|
||||
|
||||
type = animal.type;
|
||||
|
||||
type = other.type;
|
||||
return *this;
|
||||
}
|
||||
void Animal::makeSound(void) const
|
||||
void Animal::makeSound(void) const
|
||||
{
|
||||
}
|
||||
|
||||
std::string Animal::getType(void) const
|
||||
{
|
||||
return type;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
40
ex00/src/Animal_test.cpp
Normal file
40
ex00/src/Animal_test.cpp
Normal file
@ -0,0 +1,40 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* :::::::: */
|
||||
/* Animal_test.cpp :+: :+: */
|
||||
/* +:+ */
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/10 11:33:34 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/10 11:34:52 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "Animal.hpp"
|
||||
#include <iostream>
|
||||
#include "colors.h"
|
||||
|
||||
void testAnimal(void)
|
||||
{
|
||||
std::cout << BOLD_UNDERLINE << BACKGROUND12 << WHITE << "Animal tests..."
|
||||
<< RESET << std::endl << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR12 << "Animal default constructor called" << RESET << std::endl;
|
||||
Animal animal;
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR12 << "Animal copy constructor called" << RESET << std::endl;
|
||||
Animal animal2(animal);
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR12 << "Animal assignment operator called" << RESET << std::endl;
|
||||
Animal animal3;
|
||||
animal3 = animal2;
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR12 << "Animal makeSound called" << RESET << std::endl;
|
||||
animal3.makeSound();
|
||||
|
||||
std::cout <<std::endl;
|
||||
std::cout << BOLD_UNDERLINE << COLOR12 << "Animal destructor called" << RESET << std::endl;
|
||||
}
|
||||
@ -6,35 +6,36 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 17:05:34 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/06 12:26:31 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/14 14:46:59 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "Cat.hpp"
|
||||
#include "colors.h"
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
Cat::Cat()
|
||||
{
|
||||
this->type = "Cat";
|
||||
std::cout << "Cat default constructor called" << std::endl;
|
||||
}
|
||||
Cat::Cat(const Cat &cat) : Animal(cat)
|
||||
std::cout << BACKGROUND10 << BOLD << "Cat" << RESET << " default constructor called" << std::endl;
|
||||
}
|
||||
Cat::Cat(const Cat &other) : Animal(other)
|
||||
{
|
||||
this->type = cat.type;
|
||||
std::cout << "Cat copy constructor called" << std::endl;
|
||||
this->type = other.type;
|
||||
std::cout << BACKGROUND10 << BOLD << "Cat" << RESET << " copy constructor called" << std::endl;
|
||||
}
|
||||
Cat::~Cat()
|
||||
{
|
||||
std::cout << "Cat destructor called" << std::endl;
|
||||
std::cout << BACKGROUND10 << BOLD << "Cat" << RESET << " destructor called" << std::endl;
|
||||
}
|
||||
Cat &Cat::operator=(const Cat &cat)
|
||||
Cat &Cat::operator=(const Cat &other)
|
||||
{
|
||||
std::cout << "Cat assignment operator called" << std::endl;
|
||||
if (this == &cat)
|
||||
std::cout << BACKGROUND10 << BOLD << "Cat" << RESET << " assignment operator called" << std::endl;
|
||||
if (this == &other)
|
||||
return *this;
|
||||
|
||||
type = cat.type;
|
||||
|
||||
type = other.type;
|
||||
return *this;
|
||||
}
|
||||
|
||||
@ -42,3 +43,4 @@ void Cat::makeSound(void) const
|
||||
{
|
||||
std::cout << "Meow" << std::endl;
|
||||
}
|
||||
|
||||
|
||||
40
ex00/src/Cat_test.cpp
Normal file
40
ex00/src/Cat_test.cpp
Normal file
@ -0,0 +1,40 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* :::::::: */
|
||||
/* Cat_test.cpp :+: :+: */
|
||||
/* +:+ */
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/10 11:35:38 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/10 11:43:41 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "Cat.hpp"
|
||||
#include <iostream>
|
||||
#include "colors.h"
|
||||
|
||||
void testCat()
|
||||
{
|
||||
std::cout << BOLD_UNDERLINE << BACKGROUND10 << WHITE << "Cat tests..."
|
||||
<< RESET << std::endl << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Cat default constructor called" << RESET << std::endl;
|
||||
Cat cat;
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Cat copy constructor called" << RESET << std::endl;
|
||||
Cat cat2(cat);
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Cat assignment operator called" << RESET << std::endl;
|
||||
Cat cat3;
|
||||
cat3 = cat2;
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Cat makeSound called" << RESET << std::endl;
|
||||
cat.makeSound();
|
||||
|
||||
std::cout <<std::endl;
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Cat destructor called" << RESET << std::endl;
|
||||
}
|
||||
@ -6,38 +6,41 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 17:06:12 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/06 12:26:31 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/14 14:46:46 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "Dog.hpp"
|
||||
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include "colors.h"
|
||||
|
||||
Dog::Dog()
|
||||
{
|
||||
this->type = "Dog";
|
||||
std::cout << "Dog default constructor called" << std::endl;
|
||||
std::cout << BACKGROUND11 << BOLD << "Dog" << RESET << " default constructor called" << std::endl;
|
||||
}
|
||||
Dog::Dog(const Dog &dog) : Animal(dog)
|
||||
Dog::Dog(const Dog &other) : Animal(other)
|
||||
{
|
||||
this->type = dog.type;
|
||||
std::cout << "Dog copy constructor called" << std::endl;
|
||||
std::cout << BACKGROUND11 << BOLD << "Dog" << RESET << " copy constructor called" << std::endl;
|
||||
}
|
||||
Dog::~Dog()
|
||||
{
|
||||
std::cout << "Dog destructor called" << std::endl;
|
||||
std::cout << BACKGROUND11 << BOLD << "Dog" << RESET << " destructor called" << std::endl;
|
||||
}
|
||||
Dog &Dog::operator=(const Dog &dog)
|
||||
Dog &Dog::operator=(const Dog &other)
|
||||
{
|
||||
std::cout << "Dog assignment operator called" << std::endl;
|
||||
if (this == &dog)
|
||||
std::cout << BACKGROUND11 << BOLD << "Dog" << RESET << " assignment operator called" << std::endl;
|
||||
if (this == &other)
|
||||
return *this;
|
||||
|
||||
type = dog.type;
|
||||
|
||||
type = other.type;
|
||||
return *this;
|
||||
}
|
||||
void Dog::makeSound(void) const
|
||||
{
|
||||
std::cout << "Woof" << std::endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
40
ex00/src/Dog_test.cpp
Normal file
40
ex00/src/Dog_test.cpp
Normal file
@ -0,0 +1,40 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* :::::::: */
|
||||
/* Dog_test.cpp :+: :+: */
|
||||
/* +:+ */
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/10 11:36:37 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/10 11:44:14 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "Dog.hpp"
|
||||
#include <iostream>
|
||||
#include "colors.h"
|
||||
|
||||
void testDog()
|
||||
{
|
||||
std::cout << BOLD_UNDERLINE << BACKGROUND10 << WHITE << "Dog tests..."
|
||||
<< RESET << std::endl << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Dog default constructor called" << RESET << std::endl;
|
||||
Dog dog;
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Dog copy constructor called" << RESET << std::endl;
|
||||
Dog dog2(dog);
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Dog assignment operator called" << RESET << std::endl;
|
||||
Dog dog3;
|
||||
dog3 = dog2;
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Dog makeSound called" << RESET << std::endl;
|
||||
dog.makeSound();
|
||||
|
||||
std::cout <<std::endl;
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Dog destructor called" << RESET << std::endl;
|
||||
}
|
||||
@ -6,37 +6,38 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 17:26:52 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/06 12:26:31 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/10 11:52:22 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "WrongAnimal.hpp"
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include "colors.h"
|
||||
|
||||
WrongAnimal::WrongAnimal()
|
||||
{
|
||||
this->type = "WrongAnimal";
|
||||
std::cout << "WrongAnimal default constructor called" << std::endl;
|
||||
std::cout << BACKGROUND1 << BOLD << "WrongAnimal" << RESET << " default constructor called" << std::endl;
|
||||
}
|
||||
WrongAnimal::WrongAnimal(const WrongAnimal &animal) : type(animal.type)
|
||||
WrongAnimal::WrongAnimal(const WrongAnimal &other) : type(other.type)
|
||||
{
|
||||
std::cout << "WrongAnimal copy constructor called" << std::endl;
|
||||
}
|
||||
std::cout << BACKGROUND1 << BOLD << "WrongAnimal" << RESET << " copy constructor called" << std::endl;
|
||||
}
|
||||
WrongAnimal::~WrongAnimal()
|
||||
{
|
||||
std::cout << "WrongAnimal destructor called" << std::endl;
|
||||
std::cout << BACKGROUND1 << BOLD << "WrongAnimal" << RESET << " destructor called" << std::endl;
|
||||
}
|
||||
WrongAnimal &WrongAnimal::operator=(const WrongAnimal &animal)
|
||||
WrongAnimal &WrongAnimal::operator=(const WrongAnimal &other)
|
||||
{
|
||||
std::cout << "WrongAnimal assignment operator called" << std::endl;
|
||||
if (this == &animal)
|
||||
std::cout << BACKGROUND1 << BOLD << "WrongAnimal" << RESET << " assignment operator called" << std::endl;
|
||||
if (this == &other)
|
||||
return *this;
|
||||
|
||||
type = animal.type;
|
||||
|
||||
type = other.type;
|
||||
return *this;
|
||||
}
|
||||
void WrongAnimal::makeSound(void) const {}
|
||||
void WrongAnimal::makeSound(void) const {}
|
||||
std::string WrongAnimal::getType(void) const
|
||||
{
|
||||
return type;
|
||||
|
||||
41
ex00/src/WrongAnimal_test.cpp
Normal file
41
ex00/src/WrongAnimal_test.cpp
Normal file
@ -0,0 +1,41 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* :::::::: */
|
||||
/* WrongAnimal_test.cpp :+: :+: */
|
||||
/* +:+ */
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/10 11:39:17 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/10 11:44:51 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
||||
#include "WrongAnimal.hpp"
|
||||
#include <iostream>
|
||||
#include "colors.h"
|
||||
|
||||
void testWrongAnimal()
|
||||
{
|
||||
std::cout << BOLD_UNDERLINE << BACKGROUND10 << WHITE << "WrongAnimal tests..."
|
||||
<< RESET << std::endl << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "WrongAnimal default constructor called" << RESET << std::endl;
|
||||
WrongAnimal wrongAnimal;
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "WrongAnimal copy constructor called" << RESET << std::endl;
|
||||
WrongAnimal wrongAnimal2(wrongAnimal);
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "WrongAnimal assignment operator called" << RESET << std::endl;
|
||||
WrongAnimal wrongAnimal3;
|
||||
wrongAnimal3 = wrongAnimal2;
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "WrongAnimal makeSound called" << RESET << std::endl;
|
||||
wrongAnimal.makeSound();
|
||||
|
||||
std::cout <<std::endl;
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "WrongAnimal destructor called" << RESET << std::endl;
|
||||
}
|
||||
@ -6,33 +6,34 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 17:28:51 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/06 12:26:31 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/10 11:53:30 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "WrongCat.hpp"
|
||||
#include <iostream>
|
||||
#include "colors.h"
|
||||
|
||||
WrongCat::WrongCat()
|
||||
{
|
||||
this->type = "WrongCat";
|
||||
std::cout << "WrongCat default constructor called" << std::endl;
|
||||
std::cout << BACKGROUND9 << BOLD << "WrongCat" << RESET << " default constructor called" << std::endl;
|
||||
}
|
||||
WrongCat::WrongCat(const WrongCat &cat) : WrongAnimal(cat)
|
||||
WrongCat::WrongCat(const WrongCat &other) : WrongAnimal(other)
|
||||
{
|
||||
this->type = cat.type;
|
||||
std::cout << "WrongCat copy constructor called" << std::endl;
|
||||
std::cout << BACKGROUND9 << BOLD << "WrongCat" << RESET << " copy constructor called" << std::endl;
|
||||
}
|
||||
WrongCat::~WrongCat()
|
||||
{
|
||||
std::cout << "WrongCat destructor called" << std::endl;
|
||||
std::cout << BACKGROUND9 << BOLD << "WrongCat" << RESET << " destructor called" << std::endl;
|
||||
}
|
||||
WrongCat &WrongCat::operator=(const WrongCat &cat)
|
||||
WrongCat &WrongCat::operator=(const WrongCat &other)
|
||||
{
|
||||
std::cout << "WrongCat assignment operator called" << std::endl;
|
||||
if (this == &cat)
|
||||
std::cout << BACKGROUND9 << BOLD << "WrongCat" << RESET << " assignment operator called" << std::endl;
|
||||
if (this == &other)
|
||||
return *this;
|
||||
|
||||
type = cat.type;
|
||||
|
||||
type = other.type;
|
||||
return *this;
|
||||
}
|
||||
void WrongCat::makeSound(void) const
|
||||
|
||||
29
ex00/src/WrongCat_test.cpp
Normal file
29
ex00/src/WrongCat_test.cpp
Normal file
@ -0,0 +1,29 @@
|
||||
|
||||
#include "WrongCat.hpp"
|
||||
#include <iostream>
|
||||
#include "colors.h"
|
||||
|
||||
void testWrongCat()
|
||||
{
|
||||
std::cout << BOLD_UNDERLINE << BACKGROUND10 << WHITE << "WrongCat tests..."
|
||||
<< RESET << std::endl << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "WrongCat default constructor called" << RESET << std::endl;
|
||||
WrongCat wrongCat;
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "WrongCat copy constructor called" << RESET << std::endl;
|
||||
WrongCat wrongCat2(wrongCat);
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "WrongCat assignment operator called" << RESET << std::endl;
|
||||
WrongCat wrongCat3;
|
||||
wrongCat3 = wrongCat2;
|
||||
std::cout <<std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "WrongCat makeSound called" << RESET << std::endl;
|
||||
wrongCat.makeSound();
|
||||
|
||||
std::cout <<std::endl;
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "WrongCat destructor called" << RESET << std::endl;
|
||||
}
|
||||
@ -6,87 +6,70 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 17:06:50 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/05 18:01:03 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/10 12:27:22 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "Animal.hpp"
|
||||
#include "WrongAnimal.hpp"
|
||||
#include "Dog.hpp"
|
||||
#include "Cat.hpp"
|
||||
#include "WrongCat.hpp"
|
||||
#include "tests.hpp"
|
||||
#include <iostream>
|
||||
#include "colors.h"
|
||||
|
||||
#include "Animal.hpp"
|
||||
#include "Cat.hpp"
|
||||
#include "Dog.hpp"
|
||||
#include "WrongAnimal.hpp"
|
||||
#include "WrongCat.hpp"
|
||||
|
||||
int main(void)
|
||||
{
|
||||
std::cout << "Construct Animal, Cat and Dog" << std::endl;
|
||||
std::cout << "----------------------------------------" << std::endl;
|
||||
std::cout << "construct an animal:" << std::endl;
|
||||
const Animal* animal = new Animal();
|
||||
std::cout << "construct a cat:" << std::endl;
|
||||
const Animal* cat = new Cat();
|
||||
std::cout << "construct a dog:" << std::endl;
|
||||
const Animal* dog = new Dog();
|
||||
std::cout << "========================================" << std::endl << std::endl;
|
||||
|
||||
std::cout << "test the getType function" << std::endl;
|
||||
std::cout << "----------------------------------------" << std::endl;
|
||||
std::cout << "animal is of type : " << animal->getType() << std::endl;
|
||||
std::cout << "cat is of type : " << cat->getType() << std::endl;
|
||||
std::cout << "dog is of type : " << dog->getType() << std::endl;
|
||||
std::cout << "========================================" << std::endl << std::endl;
|
||||
|
||||
std::cout << "test the makeSound function" << std::endl;
|
||||
std::cout << "----------------------------------------" << std::endl;
|
||||
std::cout << "animal sound : ";
|
||||
animal->makeSound();
|
||||
std::cout << BOLD_UNDERLINE << BACKGROUND6 << WHITE << "Run Class tests" << RESET << std::endl;
|
||||
std::cout << std::endl;
|
||||
std::cout << "cat sound : ";
|
||||
cat->makeSound();
|
||||
std::cout << "dog sound : ";
|
||||
dog->makeSound();
|
||||
std::cout << "========================================" << std::endl << std::endl;
|
||||
testAnimal();
|
||||
std::cout << std::endl;
|
||||
testCat();
|
||||
std::cout << std::endl;
|
||||
testDog();
|
||||
std::cout << std::endl;
|
||||
testWrongAnimal();
|
||||
std::cout << std::endl;
|
||||
testWrongCat();
|
||||
std::cout << std::endl;
|
||||
std::cout << BOLD_UNDERLINE << BACKGROUND6 << WHITE << "Class Tests Complete" << RESET << std::endl;
|
||||
|
||||
std::cout << "test the destructor" << std::endl;
|
||||
std::cout << "----------------------------------------" << std::endl;
|
||||
std::cout << "delete animal:" << std::endl;
|
||||
|
||||
std::cout << std::endl;
|
||||
std::cout << BOLD_UNDERLINE << BACKGROUND6 << WHITE << "Run Polymorhism tests" << RESET << std::endl;
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << BACKGROUND6 << WHITE << "Animal Polymorhism tests" << RESET << std::endl;
|
||||
Animal *animal = new Animal();
|
||||
animal->makeSound();
|
||||
delete animal;
|
||||
std::cout << "delete cat:" << std::endl;
|
||||
delete cat;
|
||||
std::cout << "delete dog:" << std::endl;
|
||||
delete dog;
|
||||
std::cout << "========================================" << std::endl << std::endl;
|
||||
|
||||
std::cout << "Construct WrongAnimal, WrongCat" << std::endl;
|
||||
std::cout << "----------------------------------------" << std::endl;
|
||||
std::cout << "construct a wrongAnimal:" << std::endl;
|
||||
const WrongAnimal* wrongAnimal = new WrongAnimal();
|
||||
std::cout << "construct a wrongCat:" << std::endl;
|
||||
const WrongAnimal* wrongCat = new WrongCat();
|
||||
std::cout << "========================================" << std::endl << std::endl;
|
||||
|
||||
std::cout << "test the getType function" << std::endl;
|
||||
std::cout << "----------------------------------------" << std::endl;
|
||||
std::cout << "wrongAnimal is of type : " << wrongAnimal->getType() << std::endl;
|
||||
std::cout << "wrongCat is of type : " << wrongCat->getType() << std::endl;
|
||||
std::cout << "========================================" << std::endl << std::endl;
|
||||
|
||||
std::cout << "test the makeSound function" << std::endl;
|
||||
std::cout << "----------------------------------------" << std::endl;
|
||||
std::cout << "wrongAnimal sound : ";
|
||||
wrongAnimal->makeSound();
|
||||
std::cout << std::endl;
|
||||
std::cout << "wrongCat sound : ";
|
||||
wrongCat->makeSound();
|
||||
std::cout << "========================================" << std::endl << std::endl;
|
||||
|
||||
std::cout << "test the destructor" << std::endl;
|
||||
std::cout << "----------------------------------------" << std::endl;
|
||||
std::cout << "delete wrongAnimal:" << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << BACKGROUND6 << WHITE << "Cat Polymorhism tests" << RESET << std::endl;
|
||||
Animal *cat = new Cat();
|
||||
cat->makeSound();
|
||||
delete cat;
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << BACKGROUND6 << WHITE << "Dog Polymorhism tests" << RESET << std::endl;
|
||||
Animal *dog = new Dog();
|
||||
dog->makeSound();
|
||||
delete dog;
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << BACKGROUND6 << WHITE << "WrongAnimal Polymorhism tests" << RESET << std::endl;
|
||||
WrongAnimal *wrongAnimal = new WrongAnimal();
|
||||
wrongAnimal->makeSound();
|
||||
delete wrongAnimal;
|
||||
std::cout << "delete wrongCat:" << std::endl;
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << BACKGROUND6 << WHITE << "WrongCat Polymorhism tests" << RESET << std::endl;
|
||||
WrongAnimal *wrongCat = new WrongCat();
|
||||
wrongCat->makeSound();
|
||||
delete wrongCat;
|
||||
std::cout << "========================================" << std::endl << std::endl;
|
||||
|
||||
std::cout << std::endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 16:53:44 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/06 12:26:31 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/10 12:32:17 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -21,10 +21,10 @@ protected:
|
||||
|
||||
public:
|
||||
Animal();
|
||||
Animal(const Animal &animal);
|
||||
Animal(const Animal &other);
|
||||
virtual ~Animal();
|
||||
Animal &operator=(const Animal &animal);
|
||||
Animal &operator=(const Animal &other);
|
||||
|
||||
virtual void makeSound(void) const;
|
||||
virtual void makeSound(void) const;
|
||||
std::string getType(void) const;
|
||||
};
|
||||
@ -6,21 +6,20 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 17:40:33 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/06 11:29:20 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/14 14:41:27 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <array>
|
||||
|
||||
#define MAX_IDEAS 10
|
||||
|
||||
class Brain
|
||||
{
|
||||
private:
|
||||
std::array<std::string, MAX_IDEAS> ideas;
|
||||
std::string ideas[MAX_IDEAS];
|
||||
|
||||
public:
|
||||
Brain();
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 17:02:57 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/05 17:50:55 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/14 14:52:49 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -21,12 +21,12 @@ class Cat : public Animal
|
||||
private:
|
||||
Brain *brain;
|
||||
|
||||
public:
|
||||
public:
|
||||
Cat();
|
||||
Cat(const Cat &cat);
|
||||
Cat(const Cat &other);
|
||||
~Cat() override;
|
||||
Cat &operator=(const Cat &cat);
|
||||
Cat &operator=(const Cat &other);
|
||||
|
||||
void makeSound(void) const override;
|
||||
|
||||
};
|
||||
Brain &getBrain();
|
||||
};
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 17:04:03 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/05 17:49:51 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/14 14:52:57 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -20,12 +20,13 @@ class Dog : public Animal
|
||||
{
|
||||
private:
|
||||
Brain *brain;
|
||||
|
||||
|
||||
public:
|
||||
Dog();
|
||||
Dog(const Dog &Dog);
|
||||
Dog(const Dog &other);
|
||||
~Dog() override;
|
||||
Dog &operator=(const Dog &Dog);
|
||||
Dog &operator=(const Dog &other);
|
||||
|
||||
void makeSound(void) const override;
|
||||
Brain &getBrain();
|
||||
};
|
||||
554
ex01/inc/colors.h
Normal file
554
ex01/inc/colors.h
Normal file
@ -0,0 +1,554 @@
|
||||
#ifndef COLORS_H
|
||||
#define COLORS_H
|
||||
|
||||
#define RESET "\033[m"
|
||||
|
||||
#define BOLD_UNDERLINE "\033[1;4m"
|
||||
#define BOLD_UNDERLINE_OFF "\033[22;24m"
|
||||
|
||||
#define BOLD "\033[1m"
|
||||
#define UNDERLINE "\033[4m"
|
||||
#define ITALIC "\033[3m"
|
||||
#define BLINK "\033[5m"
|
||||
#define INVERSE "\033[7m"
|
||||
#define STRIKETHROUGH "\033[9m"
|
||||
|
||||
#define BOLD_OFF "\033[22m"
|
||||
#define UNDERLINE_OFF "\033[24m"
|
||||
#define ITALIC_OFF "\033[23m"
|
||||
#define BLINK_OFF "\033[25m"
|
||||
#define INVERSE_OFF "\033[27m"
|
||||
#define STRIKETHROUGH_OFF "\033[29m"
|
||||
|
||||
#define REVERSE "\033[7m"
|
||||
|
||||
#define BLACK "\033[30m"
|
||||
#define RED "\033[31m"
|
||||
#define GREEN "\033[32m"
|
||||
#define YELLOW "\033[33m"
|
||||
#define BLUE "\033[34m"
|
||||
#define MAGENTA "\033[35m"
|
||||
#define CYAN "\033[36m"
|
||||
#define WHITE "\033[37m"
|
||||
|
||||
#define COLOR0 "\033[38;5;0m"
|
||||
#define COLOR1 "\033[38;5;1m"
|
||||
#define COLOR2 "\033[38;5;2m"
|
||||
#define COLOR3 "\033[38;5;3m"
|
||||
#define COLOR4 "\033[38;5;4m"
|
||||
#define COLOR5 "\033[38;5;5m"
|
||||
#define COLOR6 "\033[38;5;6m"
|
||||
#define COLOR7 "\033[38;5;7m"
|
||||
#define COLOR8 "\033[38;5;8m"
|
||||
#define COLOR9 "\033[38;5;9m"
|
||||
#define COLOR10 "\033[38;5;10m"
|
||||
#define COLOR11 "\033[38;5;11m"
|
||||
#define COLOR12 "\033[38;5;12m"
|
||||
#define COLOR13 "\033[38;5;13m"
|
||||
#define COLOR14 "\033[38;5;14m"
|
||||
#define COLOR15 "\033[38;5;15m"
|
||||
|
||||
#define BACKGROUND0 "\033[48;5;0m"
|
||||
#define BACKGROUND1 "\033[48;5;1m"
|
||||
#define BACKGROUND2 "\033[48;5;2m"
|
||||
#define BACKGROUND3 "\033[48;5;3m"
|
||||
#define BACKGROUND4 "\033[48;5;4m"
|
||||
#define BACKGROUND5 "\033[48;5;5m"
|
||||
#define BACKGROUND6 "\033[48;5;6m"
|
||||
#define BACKGROUND7 "\033[48;5;7m"
|
||||
#define BACKGROUND8 "\033[48;5;8m"
|
||||
#define BACKGROUND9 "\033[48;5;9m"
|
||||
#define BACKGROUND10 "\033[48;5;10m"
|
||||
#define BACKGROUND11 "\033[48;5;11m"
|
||||
#define BACKGROUND12 "\033[48;5;12m"
|
||||
#define BACKGROUND13 "\033[48;5;13m"
|
||||
#define BACKGROUND14 "\033[48;5;14m"
|
||||
#define BACKGROUND15 "\033[48;5;15m"
|
||||
|
||||
// #define COLOR16 "\033[38;5;16m"
|
||||
// #define COLOR17 "\033[38;5;17m"
|
||||
// #define COLOR18 "\033[38;5;18m"
|
||||
// #define COLOR19 "\033[38;5;19m"
|
||||
// #define COLOR20 "\033[38;5;20m"
|
||||
// #define COLOR21 "\033[38;5;21m"
|
||||
// #define COLOR22 "\033[38;5;22m"
|
||||
// #define COLOR23 "\033[38;5;23m"
|
||||
// #define COLOR24 "\033[38;5;24m"
|
||||
// #define COLOR25 "\033[38;5;25m"
|
||||
// #define COLOR26 "\033[38;5;26m"
|
||||
// #define COLOR27 "\033[38;5;27m"
|
||||
// #define COLOR28 "\033[38;5;28m"
|
||||
// #define COLOR29 "\033[38;5;29m"
|
||||
// #define COLOR30 "\033[38;5;30m"
|
||||
// #define COLOR31 "\033[38;5;31m"
|
||||
// #define COLOR32 "\033[38;5;32m"
|
||||
// #define COLOR33 "\033[38;5;33m"
|
||||
// #define COLOR34 "\033[38;5;34m"
|
||||
// #define COLOR35 "\033[38;5;35m"
|
||||
// #define COLOR36 "\033[38;5;36m"
|
||||
// #define COLOR37 "\033[38;5;37m"
|
||||
// #define COLOR38 "\033[38;5;38m"
|
||||
// #define COLOR39 "\033[38;5;39m"
|
||||
// #define COLOR40 "\033[38;5;40m"
|
||||
// #define COLOR41 "\033[38;5;41m"
|
||||
// #define COLOR42 "\033[38;5;42m"
|
||||
// #define COLOR43 "\033[38;5;43m"
|
||||
// #define COLOR44 "\033[38;5;44m"
|
||||
// #define COLOR45 "\033[38;5;45m"
|
||||
// #define COLOR46 "\033[38;5;46m"
|
||||
// #define COLOR47 "\033[38;5;47m"
|
||||
// #define COLOR48 "\033[38;5;48m"
|
||||
// #define COLOR49 "\033[38;5;49m"
|
||||
// #define COLOR50 "\033[38;5;50m"
|
||||
// #define COLOR51 "\033[38;5;51m"
|
||||
// #define COLOR52 "\033[38;5;52m"
|
||||
// #define COLOR53 "\033[38;5;53m"
|
||||
// #define COLOR54 "\033[38;5;54m"
|
||||
// #define COLOR55 "\033[38;5;55m"
|
||||
// #define COLOR56 "\033[38;5;56m"
|
||||
// #define COLOR57 "\033[38;5;57m"
|
||||
// #define COLOR58 "\033[38;5;58m"
|
||||
// #define COLOR59 "\033[38;5;59m"
|
||||
// #define COLOR60 "\033[38;5;60m"
|
||||
// #define COLOR61 "\033[38;5;61m"
|
||||
// #define COLOR62 "\033[38;5;62m"
|
||||
// #define COLOR63 "\033[38;5;63m"
|
||||
// #define COLOR64 "\033[38;5;64m"
|
||||
// #define COLOR65 "\033[38;5;65m"
|
||||
// #define COLOR66 "\033[38;5;66m"
|
||||
// #define COLOR67 "\033[38;5;67m"
|
||||
// #define COLOR68 "\033[38;5;68m"
|
||||
// #define COLOR69 "\033[38;5;69m"
|
||||
// #define COLOR70 "\033[38;5;70m"
|
||||
// #define COLOR71 "\033[38;5;71m"
|
||||
// #define COLOR72 "\033[38;5;72m"
|
||||
// #define COLOR73 "\033[38;5;73m"
|
||||
// #define COLOR74 "\033[38;5;74m"
|
||||
// #define COLOR75 "\033[38;5;75m"
|
||||
// #define COLOR76 "\033[38;5;76m"
|
||||
// #define COLOR77 "\033[38;5;77m"
|
||||
// #define COLOR78 "\033[38;5;78m"
|
||||
// #define COLOR79 "\033[38;5;79m"
|
||||
// #define COLOR80 "\033[38;5;80m"
|
||||
// #define COLOR81 "\033[38;5;81m"
|
||||
// #define COLOR82 "\033[38;5;82m"
|
||||
// #define COLOR83 "\033[38;5;83m"
|
||||
// #define COLOR84 "\033[38;5;84m"
|
||||
// #define COLOR85 "\033[38;5;85m"
|
||||
// #define COLOR86 "\033[38;5;86m"
|
||||
// #define COLOR87 "\033[38;5;87m"
|
||||
// #define COLOR88 "\033[38;5;88m"
|
||||
// #define COLOR89 "\033[38;5;89m"
|
||||
// #define COLOR90 "\033[38;5;90m"
|
||||
// #define COLOR91 "\033[38;5;91m"
|
||||
// #define COLOR92 "\033[38;5;92m"
|
||||
// #define COLOR93 "\033[38;5;93m"
|
||||
// #define COLOR94 "\033[38;5;94m"
|
||||
// #define COLOR95 "\033[38;5;95m"
|
||||
// #define COLOR96 "\033[38;5;96m"
|
||||
// #define COLOR97 "\033[38;5;97m"
|
||||
// #define COLOR98 "\033[38;5;98m"
|
||||
// #define COLOR99 "\033[38;5;99m"
|
||||
// #define COLOR100 "\033[38;5;100m"
|
||||
// #define COLOR101 "\033[38;5;101m"
|
||||
// #define COLOR102 "\033[38;5;102m"
|
||||
// #define COLOR103 "\033[38;5;103m"
|
||||
// #define COLOR104 "\033[38;5;104m"
|
||||
// #define COLOR105 "\033[38;5;105m"
|
||||
// #define COLOR106 "\033[38;5;106m"
|
||||
// #define COLOR107 "\033[38;5;107m"
|
||||
// #define COLOR108 "\033[38;5;108m"
|
||||
// #define COLOR109 "\033[38;5;109m"
|
||||
// #define COLOR110 "\033[38;5;110m"
|
||||
// #define COLOR111 "\033[38;5;111m"
|
||||
// #define COLOR112 "\033[38;5;112m"
|
||||
// #define COLOR113 "\033[38;5;113m"
|
||||
// #define COLOR114 "\033[38;5;114m"
|
||||
// #define COLOR115 "\033[38;5;115m"
|
||||
// #define COLOR116 "\033[38;5;116m"
|
||||
// #define COLOR117 "\033[38;5;117m"
|
||||
// #define COLOR118 "\033[38;5;118m"
|
||||
// #define COLOR119 "\033[38;5;119m"
|
||||
// #define COLOR120 "\033[38;5;120m"
|
||||
// #define COLOR121 "\033[38;5;121m"
|
||||
// #define COLOR122 "\033[38;5;122m"
|
||||
// #define COLOR123 "\033[38;5;123m"
|
||||
// #define COLOR124 "\033[38;5;124m"
|
||||
// #define COLOR125 "\033[38;5;125m"
|
||||
// #define COLOR126 "\033[38;5;126m"
|
||||
// #define COLOR127 "\033[38;5;127m"
|
||||
// #define COLOR128 "\033[38;5;128m"
|
||||
// #define COLOR129 "\033[38;5;129m"
|
||||
// #define COLOR130 "\033[38;5;130m"
|
||||
// #define COLOR131 "\033[38;5;131m"
|
||||
// #define COLOR132 "\033[38;5;132m"
|
||||
// #define COLOR133 "\033[38;5;133m"
|
||||
// #define COLOR134 "\033[38;5;134m"
|
||||
// #define COLOR135 "\033[38;5;135m"
|
||||
// #define COLOR136 "\033[38;5;136m"
|
||||
// #define COLOR137 "\033[38;5;137m"
|
||||
// #define COLOR138 "\033[38;5;138m"
|
||||
// #define COLOR139 "\033[38;5;139m"
|
||||
// #define COLOR140 "\033[38;5;140m"
|
||||
// #define COLOR141 "\033[38;5;141m"
|
||||
// #define COLOR142 "\033[38;5;142m"
|
||||
// #define COLOR143 "\033[38;5;143m"
|
||||
// #define COLOR144 "\033[38;5;144m"
|
||||
// #define COLOR145 "\033[38;5;145m"
|
||||
// #define COLOR146 "\033[38;5;146m"
|
||||
// #define COLOR147 "\033[38;5;147m"
|
||||
// #define COLOR148 "\033[38;5;148m"
|
||||
// #define COLOR149 "\033[38;5;149m"
|
||||
// #define COLOR150 "\033[38;5;150m"
|
||||
// #define COLOR151 "\033[38;5;151m"
|
||||
// #define COLOR152 "\033[38;5;152m"
|
||||
// #define COLOR153 "\033[38;5;153m"
|
||||
// #define COLOR154 "\033[38;5;154m"
|
||||
// #define COLOR155 "\033[38;5;155m"
|
||||
// #define COLOR156 "\033[38;5;156m"
|
||||
// #define COLOR157 "\033[38;5;157m"
|
||||
// #define COLOR158 "\033[38;5;158m"
|
||||
// #define COLOR159 "\033[38;5;159m"
|
||||
// #define COLOR160 "\033[38;5;160m"
|
||||
// #define COLOR161 "\033[38;5;161m"
|
||||
// #define COLOR162 "\033[38;5;162m"
|
||||
// #define COLOR163 "\033[38;5;163m"
|
||||
// #define COLOR164 "\033[38;5;164m"
|
||||
// #define COLOR165 "\033[38;5;165m"
|
||||
// #define COLOR166 "\033[38;5;166m"
|
||||
// #define COLOR167 "\033[38;5;167m"
|
||||
// #define COLOR168 "\033[38;5;168m"
|
||||
// #define COLOR169 "\033[38;5;169m"
|
||||
// #define COLOR170 "\033[38;5;170m"
|
||||
// #define COLOR171 "\033[38;5;171m"
|
||||
// #define COLOR172 "\033[38;5;172m"
|
||||
// #define COLOR173 "\033[38;5;173m"
|
||||
// #define COLOR174 "\033[38;5;174m"
|
||||
// #define COLOR175 "\033[38;5;175m"
|
||||
// #define COLOR176 "\033[38;5;176m"
|
||||
// #define COLOR177 "\033[38;5;177m"
|
||||
// #define COLOR178 "\033[38;5;178m"
|
||||
// #define COLOR179 "\033[38;5;179m"
|
||||
// #define COLOR180 "\033[38;5;180m"
|
||||
// #define COLOR181 "\033[38;5;181m"
|
||||
// #define COLOR182 "\033[38;5;182m"
|
||||
// #define COLOR183 "\033[38;5;183m"
|
||||
// #define COLOR184 "\033[38;5;184m"
|
||||
// #define COLOR185 "\033[38;5;185m"
|
||||
// #define COLOR186 "\033[38;5;186m"
|
||||
// #define COLOR187 "\033[38;5;187m"
|
||||
// #define COLOR188 "\033[38;5;188m"
|
||||
// #define COLOR189 "\033[38;5;189m"
|
||||
// #define COLOR190 "\033[38;5;190m"
|
||||
// #define COLOR191 "\033[38;5;191m"
|
||||
// #define COLOR192 "\033[38;5;192m"
|
||||
// #define COLOR193 "\033[38;5;193m"
|
||||
// #define COLOR194 "\033[38;5;194m"
|
||||
// #define COLOR195 "\033[38;5;195m"
|
||||
// #define COLOR196 "\033[38;5;196m"
|
||||
// #define COLOR197 "\033[38;5;197m"
|
||||
// #define COLOR198 "\033[38;5;198m"
|
||||
// #define COLOR199 "\033[38;5;199m"
|
||||
// #define COLOR200 "\033[38;5;200m"
|
||||
// #define COLOR201 "\033[38;5;201m"
|
||||
// #define COLOR202 "\033[38;5;202m"
|
||||
// #define COLOR203 "\033[38;5;203m"
|
||||
// #define COLOR204 "\033[38;5;204m"
|
||||
// #define COLOR205 "\033[38;5;205m"
|
||||
// #define COLOR206 "\033[38;5;206m"
|
||||
// #define COLOR207 "\033[38;5;207m"
|
||||
// #define COLOR208 "\033[38;5;208m"
|
||||
// #define COLOR209 "\033[38;5;209m"
|
||||
// #define COLOR210 "\033[38;5;210m"
|
||||
// #define COLOR211 "\033[38;5;211m"
|
||||
// #define COLOR212 "\033[38;5;212m"
|
||||
// #define COLOR213 "\033[38;5;213m"
|
||||
// #define COLOR214 "\033[38;5;214m"
|
||||
// #define COLOR215 "\033[38;5;215m"
|
||||
// #define COLOR216 "\033[38;5;216m"
|
||||
// #define COLOR217 "\033[38;5;217m"
|
||||
// #define COLOR218 "\033[38;5;218m"
|
||||
// #define COLOR219 "\033[38;5;219m"
|
||||
// #define COLOR220 "\033[38;5;220m"
|
||||
// #define COLOR221 "\033[38;5;221m"
|
||||
// #define COLOR222 "\033[38;5;222m"
|
||||
// #define COLOR223 "\033[38;5;223m"
|
||||
// #define COLOR224 "\033[38;5;224m"
|
||||
// #define COLOR225 "\033[38;5;225m"
|
||||
// #define COLOR226 "\033[38;5;226m"
|
||||
// #define COLOR227 "\033[38;5;227m"
|
||||
// #define COLOR228 "\033[38;5;228m"
|
||||
// #define COLOR229 "\033[38;5;229m"
|
||||
// #define COLOR230 "\033[38;5;230m"
|
||||
// #define COLOR231 "\033[38;5;231m"
|
||||
// #define COLOR232 "\033[38;5;232m"
|
||||
// #define COLOR233 "\033[38;5;233m"
|
||||
// #define COLOR234 "\033[38;5;234m"
|
||||
// #define COLOR235 "\033[38;5;235m"
|
||||
// #define COLOR236 "\033[38;5;236m"
|
||||
// #define COLOR237 "\033[38;5;237m"
|
||||
// #define COLOR238 "\033[38;5;238m"
|
||||
// #define COLOR239 "\033[38;5;239m"
|
||||
// #define COLOR240 "\033[38;5;240m"
|
||||
// #define COLOR241 "\033[38;5;241m"
|
||||
// #define COLOR242 "\033[38;5;242m"
|
||||
// #define COLOR243 "\033[38;5;243m"
|
||||
// #define COLOR244 "\033[38;5;244m"
|
||||
// #define COLOR245 "\033[38;5;245m"
|
||||
// #define COLOR246 "\033[38;5;246m"
|
||||
// #define COLOR247 "\033[38;5;247m"
|
||||
// #define COLOR248 "\033[38;5;248m"
|
||||
// #define COLOR249 "\033[38;5;249m"
|
||||
// #define COLOR250 "\033[38;5;250m"
|
||||
// #define COLOR251 "\033[38;5;251m"
|
||||
// #define COLOR252 "\033[38;5;252m"
|
||||
// #define COLOR253 "\033[38;5;253m"
|
||||
// #define COLOR254 "\033[38;5;254m"
|
||||
// #define COLOR255 "\033[38;5;255m"
|
||||
|
||||
|
||||
// #define BACKGROUND16 "\033[48;5;16m"
|
||||
// #define BACKGROUND17 "\033[48;5;17m"
|
||||
// #define BACKGROUND18 "\033[48;5;18m"
|
||||
// #define BACKGROUND19 "\033[48;5;19m"
|
||||
// #define BACKGROUND20 "\033[48;5;20m"
|
||||
// #define BACKGROUND21 "\033[48;5;21m"
|
||||
// #define BACKGROUND22 "\033[48;5;22m"
|
||||
// #define BACKGROUND23 "\033[48;5;23m"
|
||||
// #define BACKGROUND24 "\033[48;5;24m"
|
||||
// #define BACKGROUND25 "\033[48;5;25m"
|
||||
// #define BACKGROUND26 "\033[48;5;26m"
|
||||
// #define BACKGROUND27 "\033[48;5;27m"
|
||||
// #define BACKGROUND28 "\033[48;5;28m"
|
||||
// #define BACKGROUND29 "\033[48;5;29m"
|
||||
// #define BACKGROUND30 "\033[48;5;30m"
|
||||
// #define BACKGROUND31 "\033[48;5;31m"
|
||||
// #define BACKGROUND32 "\033[48;5;32m"
|
||||
// #define BACKGROUND33 "\033[48;5;33m"
|
||||
// #define BACKGROUND34 "\033[48;5;34m"
|
||||
// #define BACKGROUND35 "\033[48;5;35m"
|
||||
// #define BACKGROUND36 "\033[48;5;36m"
|
||||
// #define BACKGROUND37 "\033[48;5;37m"
|
||||
// #define BACKGROUND38 "\033[48;5;38m"
|
||||
// #define BACKGROUND39 "\033[48;5;39m"
|
||||
// #define BACKGROUND40 "\033[48;5;40m"
|
||||
// #define BACKGROUND41 "\033[48;5;41m"
|
||||
// #define BACKGROUND42 "\033[48;5;42m"
|
||||
// #define BACKGROUND43 "\033[48;5;43m"
|
||||
// #define BACKGROUND44 "\033[48;5;44m"
|
||||
// #define BACKGROUND45 "\033[48;5;45m"
|
||||
// #define BACKGROUND46 "\033[48;5;46m"
|
||||
// #define BACKGROUND47 "\033[48;5;47m"
|
||||
// #define BACKGROUND48 "\033[48;5;48m"
|
||||
// #define BACKGROUND49 "\033[48;5;49m"
|
||||
// #define BACKGROUND50 "\033[48;5;50m"
|
||||
// #define BACKGROUND51 "\033[48;5;51m"
|
||||
// #define BACKGROUND52 "\033[48;5;52m"
|
||||
// #define BACKGROUND53 "\033[48;5;53m"
|
||||
// #define BACKGROUND54 "\033[48;5;54m"
|
||||
// #define BACKGROUND55 "\033[48;5;55m"
|
||||
// #define BACKGROUND56 "\033[48;5;56m"
|
||||
// #define BACKGROUND57 "\033[48;5;57m"
|
||||
// #define BACKGROUND58 "\033[48;5;58m"
|
||||
// #define BACKGROUND59 "\033[48;5;59m"
|
||||
// #define BACKGROUND60 "\033[48;5;60m"
|
||||
// #define BACKGROUND61 "\033[48;5;61m"
|
||||
// #define BACKGROUND62 "\033[48;5;62m"
|
||||
// #define BACKGROUND63 "\033[48;5;63m"
|
||||
// #define BACKGROUND64 "\033[48;5;64m"
|
||||
// #define BACKGROUND65 "\033[48;5;65m"
|
||||
// #define BACKGROUND66 "\033[48;5;66m"
|
||||
// #define BACKGROUND67 "\033[48;5;67m"
|
||||
// #define BACKGROUND68 "\033[48;5;68m"
|
||||
// #define BACKGROUND69 "\033[48;5;69m"
|
||||
// #define BACKGROUND70 "\033[48;5;70m"
|
||||
// #define BACKGROUND71 "\033[48;5;71m"
|
||||
// #define BACKGROUND72 "\033[48;5;72m"
|
||||
// #define BACKGROUND73 "\033[48;5;73m"
|
||||
// #define BACKGROUND74 "\033[48;5;74m"
|
||||
// #define BACKGROUND75 "\033[48;5;75m"
|
||||
// #define BACKGROUND76 "\033[48;5;76m"
|
||||
// #define BACKGROUND77 "\033[48;5;77m"
|
||||
// #define BACKGROUND78 "\033[48;5;78m"
|
||||
// #define BACKGROUND79 "\033[48;5;79m"
|
||||
// #define BACKGROUND80 "\033[48;5;80m"
|
||||
// #define BACKGROUND81 "\033[48;5;81m"
|
||||
// #define BACKGROUND82 "\033[48;5;82m"
|
||||
// #define BACKGROUND83 "\033[48;5;83m"
|
||||
// #define BACKGROUND84 "\033[48;5;84m"
|
||||
// #define BACKGROUND85 "\033[48;5;85m"
|
||||
// #define BACKGROUND86 "\033[48;5;86m"
|
||||
// #define BACKGROUND87 "\033[48;5;87m"
|
||||
// #define BACKGROUND88 "\033[48;5;88m"
|
||||
// #define BACKGROUND89 "\033[48;5;89m"
|
||||
// #define BACKGROUND90 "\033[48;5;90m"
|
||||
// #define BACKGROUND91 "\033[48;5;91m"
|
||||
// #define BACKGROUND92 "\033[48;5;92m"
|
||||
// #define BACKGROUND93 "\033[48;5;93m"
|
||||
// #define BACKGROUND94 "\033[48;5;94m"
|
||||
// #define BACKGROUND95 "\033[48;5;95m"
|
||||
// #define BACKGROUND96 "\033[48;5;96m"
|
||||
// #define BACKGROUND97 "\033[48;5;97m"
|
||||
// #define BACKGROUND98 "\033[48;5;98m"
|
||||
// #define BACKGROUND99 "\033[48;5;99m"
|
||||
// #define BACKGROUND100 "\033[48;5;100m"
|
||||
// #define BACKGROUND101 "\033[48;5;101m"
|
||||
// #define BACKGROUND102 "\033[48;5;102m"
|
||||
// #define BACKGROUND103 "\033[48;5;103m"
|
||||
// #define BACKGROUND104 "\033[48;5;104m"
|
||||
// #define BACKGROUND105 "\033[48;5;105m"
|
||||
// #define BACKGROUND106 "\033[48;5;106m"
|
||||
// #define BACKGROUND107 "\033[48;5;107m"
|
||||
// #define BACKGROUND108 "\033[48;5;108m"
|
||||
// #define BACKGROUND109 "\033[48;5;109m"
|
||||
// #define BACKGROUND110 "\033[48;5;110m"
|
||||
// #define BACKGROUND111 "\033[48;5;111m"
|
||||
// #define BACKGROUND112 "\033[48;5;112m"
|
||||
// #define BACKGROUND113 "\033[48;5;113m"
|
||||
// #define BACKGROUND114 "\033[48;5;114m"
|
||||
// #define BACKGROUND115 "\033[48;5;115m"
|
||||
// #define BACKGROUND116 "\033[48;5;116m"
|
||||
// #define BACKGROUND117 "\033[48;5;117m"
|
||||
// #define BACKGROUND118 "\033[48;5;118m"
|
||||
// #define BACKGROUND119 "\033[48;5;119m"
|
||||
// #define BACKGROUND120 "\033[48;5;120m"
|
||||
// #define BACKGROUND121 "\033[48;5;121m"
|
||||
// #define BACKGROUND122 "\033[48;5;122m"
|
||||
// #define BACKGROUND123 "\033[48;5;123m"
|
||||
// #define BACKGROUND124 "\033[48;5;124m"
|
||||
// #define BACKGROUND125 "\033[48;5;125m"
|
||||
// #define BACKGROUND126 "\033[48;5;126m"
|
||||
// #define BACKGROUND127 "\033[48;5;127m"
|
||||
// #define BACKGROUND128 "\033[48;5;128m"
|
||||
// #define BACKGROUND129 "\033[48;5;129m"
|
||||
// #define BACKGROUND130 "\033[48;5;130m"
|
||||
// #define BACKGROUND131 "\033[48;5;131m"
|
||||
// #define BACKGROUND132 "\033[48;5;132m"
|
||||
// #define BACKGROUND133 "\033[48;5;133m"
|
||||
// #define BACKGROUND134 "\033[48;5;134m"
|
||||
// #define BACKGROUND135 "\033[48;5;135m"
|
||||
// #define BACKGROUND136 "\033[48;5;136m"
|
||||
// #define BACKGROUND137 "\033[48;5;137m"
|
||||
// #define BACKGROUND138 "\033[48;5;138m"
|
||||
// #define BACKGROUND139 "\033[48;5;139m"
|
||||
// #define BACKGROUND140 "\033[48;5;140m"
|
||||
// #define BACKGROUND141 "\033[48;5;141m"
|
||||
// #define BACKGROUND142 "\033[48;5;142m"
|
||||
// #define BACKGROUND143 "\033[48;5;143m"
|
||||
// #define BACKGROUND144 "\033[48;5;144m"
|
||||
// #define BACKGROUND145 "\033[48;5;145m"
|
||||
// #define BACKGROUND146 "\033[48;5;146m"
|
||||
// #define BACKGROUND147 "\033[48;5;147m"
|
||||
// #define BACKGROUND148 "\033[48;5;148m"
|
||||
// #define BACKGROUND149 "\033[48;5;149m"
|
||||
// #define BACKGROUND150 "\033[48;5;150m"
|
||||
// #define BACKGROUND151 "\033[48;5;151m"
|
||||
// #define BACKGROUND152 "\033[48;5;152m"
|
||||
// #define BACKGROUND153 "\033[48;5;153m"
|
||||
// #define BACKGROUND154 "\033[48;5;154m"
|
||||
// #define BACKGROUND155 "\033[48;5;155m"
|
||||
// #define BACKGROUND156 "\033[48;5;156m"
|
||||
// #define BACKGROUND157 "\033[48;5;157m"
|
||||
// #define BACKGROUND158 "\033[48;5;158m"
|
||||
// #define BACKGROUND159 "\033[48;5;159m"
|
||||
// #define BACKGROUND160 "\033[48;5;160m"
|
||||
// #define BACKGROUND161 "\033[48;5;161m"
|
||||
// #define BACKGROUND162 "\033[48;5;162m"
|
||||
// #define BACKGROUND163 "\033[48;5;163m"
|
||||
// #define BACKGROUND164 "\033[48;5;164m"
|
||||
// #define BACKGROUND165 "\033[48;5;165m"
|
||||
// #define BACKGROUND166 "\033[48;5;166m"
|
||||
// #define BACKGROUND167 "\033[48;5;167m"
|
||||
// #define BACKGROUND168 "\033[48;5;168m"
|
||||
// #define BACKGROUND169 "\033[48;5;169m"
|
||||
// #define BACKGROUND170 "\033[48;5;170m"
|
||||
// #define BACKGROUND171 "\033[48;5;171m"
|
||||
// #define BACKGROUND172 "\033[48;5;172m"
|
||||
// #define BACKGROUND173 "\033[48;5;173m"
|
||||
// #define BACKGROUND174 "\033[48;5;174m"
|
||||
// #define BACKGROUND175 "\033[48;5;175m"
|
||||
// #define BACKGROUND176 "\033[48;5;176m"
|
||||
// #define BACKGROUND177 "\033[48;5;177m"
|
||||
// #define BACKGROUND178 "\033[48;5;178m"
|
||||
// #define BACKGROUND179 "\033[48;5;179m"
|
||||
// #define BACKGROUND180 "\033[48;5;180m"
|
||||
// #define BACKGROUND181 "\033[48;5;181m"
|
||||
// #define BACKGROUND182 "\033[48;5;182m"
|
||||
// #define BACKGROUND183 "\033[48;5;183m"
|
||||
// #define BACKGROUND184 "\033[48;5;184m"
|
||||
// #define BACKGROUND185 "\033[48;5;185m"
|
||||
// #define BACKGROUND186 "\033[48;5;186m"
|
||||
// #define BACKGROUND187 "\033[48;5;187m"
|
||||
// #define BACKGROUND188 "\033[48;5;188m"
|
||||
// #define BACKGROUND189 "\033[48;5;189m"
|
||||
// #define BACKGROUND190 "\033[48;5;190m"
|
||||
// #define BACKGROUND191 "\033[48;5;191m"
|
||||
// #define BACKGROUND192 "\033[48;5;192m"
|
||||
// #define BACKGROUND193 "\033[48;5;193m"
|
||||
// #define BACKGROUND194 "\033[48;5;194m"
|
||||
// #define BACKGROUND195 "\033[48;5;195m"
|
||||
// #define BACKGROUND196 "\033[48;5;196m"
|
||||
// #define BACKGROUND197 "\033[48;5;197m"
|
||||
// #define BACKGROUND198 "\033[48;5;198m"
|
||||
// #define BACKGROUND199 "\033[48;5;199m"
|
||||
// #define BACKGROUND200 "\033[48;5;200m"
|
||||
// #define BACKGROUND201 "\033[48;5;201m"
|
||||
// #define BACKGROUND202 "\033[48;5;202m"
|
||||
// #define BACKGROUND203 "\033[48;5;203m"
|
||||
// #define BACKGROUND204 "\033[48;5;204m"
|
||||
// #define BACKGROUND205 "\033[48;5;205m"
|
||||
// #define BACKGROUND206 "\033[48;5;206m"
|
||||
// #define BACKGROUND207 "\033[48;5;207m"
|
||||
// #define BACKGROUND208 "\033[48;5;208m"
|
||||
// #define BACKGROUND209 "\033[48;5;209m"
|
||||
// #define BACKGROUND210 "\033[48;5;210m"
|
||||
// #define BACKGROUND211 "\033[48;5;211m"
|
||||
// #define BACKGROUND212 "\033[48;5;212m"
|
||||
// #define BACKGROUND213 "\033[48;5;213m"
|
||||
// #define BACKGROUND214 "\033[48;5;214m"
|
||||
// #define BACKGROUND215 "\033[48;5;215m"
|
||||
// #define BACKGROUND216 "\033[48;5;216m"
|
||||
// #define BACKGROUND217 "\033[48;5;217m"
|
||||
// #define BACKGROUND218 "\033[48;5;218m"
|
||||
// #define BACKGROUND219 "\033[48;5;219m"
|
||||
// #define BACKGROUND220 "\033[48;5;220m"
|
||||
// #define BACKGROUND221 "\033[48;5;221m"
|
||||
// #define BACKGROUND222 "\033[48;5;222m"
|
||||
// #define BACKGROUND223 "\033[48;5;223m"
|
||||
// #define BACKGROUND224 "\033[48;5;224m"
|
||||
// #define BACKGROUND225 "\033[48;5;225m"
|
||||
// #define BACKGROUND226 "\033[48;5;226m"
|
||||
// #define BACKGROUND227 "\033[48;5;227m"
|
||||
// #define BACKGROUND228 "\033[48;5;228m"
|
||||
// #define BACKGROUND229 "\033[48;5;229m"
|
||||
// #define BACKGROUND230 "\033[48;5;230m"
|
||||
// #define BACKGROUND231 "\033[48;5;231m"
|
||||
// #define BACKGROUND232 "\033[48;5;232m"
|
||||
// #define BACKGROUND233 "\033[48;5;233m"
|
||||
// #define BACKGROUND234 "\033[48;5;234m"
|
||||
// #define BACKGROUND235 "\033[48;5;235m"
|
||||
// #define BACKGROUND236 "\033[48;5;236m"
|
||||
// #define BACKGROUND237 "\033[48;5;237m"
|
||||
// #define BACKGROUND238 "\033[48;5;238m"
|
||||
// #define BACKGROUND239 "\033[48;5;239m"
|
||||
// #define BACKGROUND240 "\033[48;5;240m"
|
||||
// #define BACKGROUND241 "\033[48;5;241m"
|
||||
// #define BACKGROUND242 "\033[48;5;242m"
|
||||
// #define BACKGROUND243 "\033[48;5;243m"
|
||||
// #define BACKGROUND244 "\033[48;5;244m"
|
||||
// #define BACKGROUND245 "\033[48;5;245m"
|
||||
// #define BACKGROUND246 "\033[48;5;246m"
|
||||
// #define BACKGROUND247 "\033[48;5;247m"
|
||||
// #define BACKGROUND248 "\033[48;5;248m"
|
||||
// #define BACKGROUND249 "\033[48;5;249m"
|
||||
// #define BACKGROUND250 "\033[48;5;250m"
|
||||
// #define BACKGROUND251 "\033[48;5;251m"
|
||||
// #define BACKGROUND252 "\033[48;5;252m"
|
||||
// #define BACKGROUND253 "\033[48;5;253m"
|
||||
// #define BACKGROUND254 "\033[48;5;254m"
|
||||
// #define BACKGROUND255 "\033[48;5;255m"
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@ -6,40 +6,43 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 16:59:26 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/06 12:26:31 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/10 11:33:29 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "Animal.hpp"
|
||||
#include <iostream>
|
||||
#include "colors.h"
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
Animal::Animal()
|
||||
{
|
||||
this->type = "Animal";
|
||||
std::cout << "Animal default constructor called" << std::endl;
|
||||
}
|
||||
Animal::Animal(const Animal &animal) : type(animal.type)
|
||||
std::cout << BACKGROUND12 << BOLD << "Animal" << RESET <<" default constructor called" << std::endl;
|
||||
}
|
||||
Animal::Animal(const Animal &other) : type(other.type)
|
||||
{
|
||||
std::cout << "Animal copy constructor called" << std::endl;
|
||||
std::cout << BACKGROUND12 << BOLD << "Animal" << RESET << " copy constructor called on an animal of type: " << type << std::endl;
|
||||
}
|
||||
Animal::~Animal()
|
||||
{
|
||||
std::cout << "Animal destructor called" << std::endl;
|
||||
std::cout << BACKGROUND12 << BOLD << "Animal" << RESET << " destructor called" << std::endl;
|
||||
}
|
||||
Animal &Animal::operator=(const Animal &animal)
|
||||
Animal &Animal::operator=(const Animal &other)
|
||||
{
|
||||
std::cout << "Animal assignment operator called" << std::endl;
|
||||
if (this == &animal)
|
||||
std::cout << BACKGROUND12 << BOLD << "Animal" << RESET << " assignment operator called" << std::endl;
|
||||
if (this == &other)
|
||||
return *this;
|
||||
|
||||
type = animal.type;
|
||||
|
||||
type = other.type;
|
||||
return *this;
|
||||
}
|
||||
void Animal::makeSound(void) const
|
||||
void Animal::makeSound(void) const
|
||||
{
|
||||
}
|
||||
|
||||
std::string Animal::getType(void) const
|
||||
{
|
||||
return type;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -6,48 +6,51 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 17:42:41 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/06 11:27:41 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/14 14:54:37 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "Brain.hpp"
|
||||
#include "colors.h"
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <array>
|
||||
|
||||
|
||||
Brain::Brain()
|
||||
{
|
||||
std::cout << "Brain default constructor called" << std::endl;
|
||||
std::cout << BACKGROUND9 << BOLD << "Brain" << RESET << " default constructor called" << std::endl;
|
||||
}
|
||||
Brain::Brain(const Brain &brain)
|
||||
{
|
||||
std::cout << "Brain copy constructor called" << std::endl;
|
||||
*this = brain;
|
||||
std::cout << BACKGROUND9 << BOLD << "Brain" << RESET << " copy constructor called" << std::endl;
|
||||
for (size_t i = 0; i < MAX_IDEAS; ++i)
|
||||
ideas[i] = brain.ideas[i];
|
||||
}
|
||||
|
||||
Brain::~Brain()
|
||||
{
|
||||
std::cout << "Brain destructor called" << std::endl;
|
||||
std::cout << BACKGROUND9 << BOLD << "Brain" << RESET << " destructor called" << std::endl;
|
||||
}
|
||||
|
||||
Brain &Brain::operator=(const Brain &brain)
|
||||
{
|
||||
std::cout << "Brain assignment operator called" << std::endl;
|
||||
std::cout << BACKGROUND9 << BOLD << "Brain" << RESET << " assignment operator called" << std::endl;
|
||||
if (this == &brain)
|
||||
return *this;
|
||||
|
||||
for (size_t i = 0; i < ideas.size(); ++i)
|
||||
for (size_t i = 0; i < MAX_IDEAS; ++i)
|
||||
ideas[i] = brain.ideas[i];
|
||||
return *this;
|
||||
}
|
||||
}
|
||||
|
||||
void Brain::setIdea(int index, const std::string &idea)
|
||||
{
|
||||
if (index >= 0 && index < 100)
|
||||
ideas[index] = idea;
|
||||
}
|
||||
}
|
||||
void Brain::fillRandomIdeas()
|
||||
{
|
||||
for (size_t i = 0; i < ideas.size(); ++i)
|
||||
for (size_t i = 0; i < MAX_IDEAS; ++i)
|
||||
ideas[i] = "Random idea " + std::to_string(i);
|
||||
}
|
||||
|
||||
@ -60,22 +63,22 @@ std::string Brain::getIdea(int index) const
|
||||
|
||||
void Brain::clearIdeas()
|
||||
{
|
||||
for (size_t i = 0; i < ideas.size(); ++i)
|
||||
for (size_t i = 0; i < MAX_IDEAS; ++i)
|
||||
ideas[i] = "";
|
||||
}
|
||||
void Brain::printIdeas() const
|
||||
{
|
||||
for (size_t i = 0; i < ideas.size(); ++i)
|
||||
for (size_t i = 0; i < MAX_IDEAS; ++i)
|
||||
{
|
||||
if (!ideas[i].empty())
|
||||
printIdea(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Brain::printIdea(int index) const
|
||||
{
|
||||
if (index >= 0 && index < 100)
|
||||
std::cout << "Idea " << index << ": " << ideas[index] << std::endl;
|
||||
std::cout << BACKGROUND9 << BOLD << "Brain" << RESET << " Idea: " << index << ": " << ideas[index] << std::endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -6,41 +6,44 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 17:05:34 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/06 12:26:31 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/14 14:53:20 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "Animal.hpp"
|
||||
#include "Cat.hpp"
|
||||
#include "Brain.hpp"
|
||||
#include "colors.h"
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
Cat::Cat() : Animal(), brain(new Brain())
|
||||
{
|
||||
type = "Cat";
|
||||
std::cout << "Cat default constructor called" << std::endl;
|
||||
}
|
||||
Cat::Cat(const Cat &cat) : Animal(cat), brain(new Brain(*cat.brain))
|
||||
{
|
||||
std::cout << "Cat copy constructor called" << std::endl;
|
||||
brain->fillRandomIdeas();
|
||||
brain->setIdea(0, "I am a cat");
|
||||
std::cout << BACKGROUND10 << BOLD << "Cat" << RESET << " default constructor called" << std::endl;
|
||||
}
|
||||
Cat::Cat(const Cat &other) : Animal(other), brain(new Brain(*other.brain))
|
||||
{
|
||||
std::cout << BACKGROUND10 << BOLD << "Cat" << RESET << " copy constructor called" << std::endl;
|
||||
}
|
||||
|
||||
Cat::~Cat()
|
||||
{
|
||||
std::cout << BACKGROUND10 << BOLD << "Cat" << RESET << " destructor called" << std::endl;
|
||||
delete brain;
|
||||
std::cout << "Cat destructor called" << std::endl;
|
||||
}
|
||||
Cat &Cat::operator=(const Cat &cat)
|
||||
Cat &Cat::operator=(const Cat &other)
|
||||
{
|
||||
std::cout << "Cat assignment operator called" << std::endl;
|
||||
if (this == &cat)
|
||||
std::cout << BACKGROUND10 << BOLD << "Cat" << RESET << " assignment operator called" << std::endl;
|
||||
if (this == &other)
|
||||
return *this;
|
||||
|
||||
type = other.type;
|
||||
|
||||
delete brain;
|
||||
brain = new Brain(*cat.brain);
|
||||
|
||||
type = cat.type;
|
||||
|
||||
brain = new Brain(*other.brain);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
@ -48,3 +51,8 @@ void Cat::makeSound(void) const
|
||||
{
|
||||
std::cout << "Meow" << std::endl;
|
||||
}
|
||||
|
||||
Brain &Cat::getBrain()
|
||||
{
|
||||
return *brain;
|
||||
}
|
||||
@ -6,38 +6,53 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 17:06:12 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/06 12:26:31 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/14 15:04:24 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "Animal.hpp"
|
||||
#include "Dog.hpp"
|
||||
#include "Brain.hpp"
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include "colors.h"
|
||||
|
||||
Dog::Dog()
|
||||
Dog::Dog() : Animal(), brain(new Brain())
|
||||
{
|
||||
this->type = "Dog";
|
||||
std::cout << "Dog default constructor called" << std::endl;
|
||||
type = "Dog";
|
||||
brain->fillRandomIdeas();
|
||||
brain->setIdea(0, "I am a Dog");
|
||||
std::cout << BACKGROUND11 << BOLD << "Dog" << RESET << " default constructor called" << std::endl;
|
||||
}
|
||||
Dog::Dog(const Dog &dog) : Animal(dog)
|
||||
Dog::Dog(const Dog &other) : Animal(other), brain(new Brain(*other.brain))
|
||||
{
|
||||
this->type = dog.type;
|
||||
std::cout << "Dog copy constructor called" << std::endl;
|
||||
std::cout << BACKGROUND11 << BOLD << "Dog" << RESET << " copy constructor called" << std::endl;
|
||||
}
|
||||
Dog::~Dog()
|
||||
{
|
||||
std::cout << "Dog destructor called" << std::endl;
|
||||
std::cout << BACKGROUND11 << BOLD << "Dog" << RESET << " destructor called" << std::endl;
|
||||
delete brain;
|
||||
}
|
||||
Dog &Dog::operator=(const Dog &dog)
|
||||
Dog &Dog::operator=(const Dog &other)
|
||||
{
|
||||
std::cout << "Dog assignment operator called" << std::endl;
|
||||
if (this == &dog)
|
||||
std::cout << BACKGROUND11 << BOLD << "Dog" << RESET << " assignment operator called" << std::endl;
|
||||
if (this == &other)
|
||||
return *this;
|
||||
|
||||
type = dog.type;
|
||||
|
||||
type = other.type;
|
||||
|
||||
delete brain;
|
||||
brain = new Brain(*other.brain);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
void Dog::makeSound(void) const
|
||||
{
|
||||
std::cout << "Woof" << std::endl;
|
||||
}
|
||||
|
||||
Brain &Dog::getBrain()
|
||||
{
|
||||
return *brain;
|
||||
}
|
||||
@ -6,55 +6,99 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/04/05 17:06:50 by whaffman #+# #+# */
|
||||
/* Updated: 2025/04/05 18:01:13 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/04/14 15:00:42 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "Animal.hpp"
|
||||
#include "Dog.hpp"
|
||||
#include "Cat.hpp"
|
||||
#include "colors.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
std::cout << "Construct Animal, Cat and Dog" << std::endl;
|
||||
std::cout << "----------------------------------------" << std::endl;
|
||||
std::cout << "construct an animal:" << std::endl;
|
||||
const Animal* animal = new Animal();
|
||||
std::cout << "construct a cat:" << std::endl;
|
||||
const Animal* cat = new Cat();
|
||||
std::cout << "construct a dog:" << std::endl;
|
||||
const Animal* dog = new Dog();
|
||||
std::cout << "========================================" << std::endl << std::endl;
|
||||
|
||||
std::cout << "test the getType function" << std::endl;
|
||||
std::cout << "----------------------------------------" << std::endl;
|
||||
std::cout << "animal is of type : " << animal->getType() << std::endl;
|
||||
std::cout << "cat is of type : " << cat->getType() << std::endl;
|
||||
std::cout << "dog is of type : " << dog->getType() << std::endl;
|
||||
std::cout << "========================================" << std::endl << std::endl;
|
||||
|
||||
std::cout << "test the makeSound function" << std::endl;
|
||||
std::cout << "----------------------------------------" << std::endl;
|
||||
std::cout << "animal sound : ";
|
||||
animal->makeSound();
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Creating an array of 10 Animals..." << RESET << std::endl;
|
||||
Animal *animals[10];
|
||||
for (int i = 0; i < 10; ++i)
|
||||
{
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Create animal " << i << RESET << std::endl;
|
||||
if (i % 2 == 0)
|
||||
animals[i] = new Dog();
|
||||
else
|
||||
animals[i] = new Cat();
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 10; ++i)
|
||||
{
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Deconstruct " << i << ": Bye bye " << animals[i]->getType() << RESET << std::endl;
|
||||
animals[i]->makeSound();
|
||||
delete animals[i];
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR1 << "Test Brain, copy constructor and copy assignment operator" << RESET << std::endl;
|
||||
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Creating a Dog1..." << RESET << std::endl;
|
||||
Dog dog1;
|
||||
std::cout << std::endl;
|
||||
std::cout << "cat sound : ";
|
||||
cat->makeSound();
|
||||
std::cout << "dog sound : ";
|
||||
dog->makeSound();
|
||||
std::cout << "========================================" << std::endl << std::endl;
|
||||
|
||||
std::cout << "test the destructor" << std::endl;
|
||||
std::cout << "----------------------------------------" << std::endl;
|
||||
std::cout << "delete animal:" << std::endl;
|
||||
delete animal;
|
||||
std::cout << "delete cat:" << std::endl;
|
||||
delete cat;
|
||||
std::cout << "delete dog:" << std::endl;
|
||||
delete dog;
|
||||
std::cout << "========================================" << std::endl << std::endl;
|
||||
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Dog1 brain ideas:" << RESET << std::endl;
|
||||
dog1.getBrain().printIdeas();
|
||||
dog1.getBrain().setIdea(0, "I am a dog, I am a dog");
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Creating a Dog2 with copy constructor..." << RESET << std::endl;
|
||||
Dog dog2(dog1);
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Dog2 brain ideas:" << RESET << std::endl;
|
||||
dog2.getBrain().printIdeas();
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Creating a Dog3 with assignment operator..." << RESET << std::endl;
|
||||
Dog dog3;
|
||||
dog3 = dog1;
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Dog3 brain ideas:" << RESET << std::endl;
|
||||
dog3.getBrain().printIdeas();
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR1 << "Test Cat, copy constructor and copy assignment operator" << RESET << std::endl;
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Creating a Cat1..." << RESET << std::endl;
|
||||
Cat cat1;
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Cat1 brain ideas:" << RESET << std::endl;
|
||||
cat1.getBrain().printIdeas();
|
||||
cat1.getBrain().setIdea(0, "I am a cat, I am a cat");
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Creating a Cat2 with copy constructor..." << RESET << std::endl;
|
||||
Cat cat2(cat1);
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Cat2 brain ideas:" << RESET << std::endl;
|
||||
cat2.getBrain().printIdeas();
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Creating a Cat3 with assignment operator..." << RESET << std::endl;
|
||||
Cat cat3;
|
||||
cat3 = cat1;
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR10 << "Cat3 brain ideas:" << RESET << std::endl;
|
||||
cat3.getBrain().printIdeas();
|
||||
std::cout << std::endl;
|
||||
|
||||
std::cout << BOLD_UNDERLINE << COLOR1 << "Test destructor" << RESET << std::endl;
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user