CPP03 1.0
読み取り中…
検索中…
一致する文字列を見つけられません
main.cpp
[詳解]
1/* ************************************************************************** */
2/* */
3/* ::: :::::::: */
4/* main.cpp :+: :+: :+: */
5/* +:+ +:+ +:+ */
6/* By: kamitsui <kamitsui@student.42tokyo.jp> +#+ +:+ +#+ */
7/* +#+#+#+#+#+ +#+ */
8/* Created: 2025/05/12 12:49:15 by kamitsui #+# #+# */
9/* Updated: 2025/05/13 18:47:35 by kamitsui ### ########.fr */
10/* */
11/* ************************************************************************** */
12
24#include "ClapTrap.hpp"
25#include "DiamondTrap.hpp"
26#include "FragTrap.hpp"
27#include "ScavTrap.hpp"
28
33int main() {
34 std::cout << "--- ClapTrap Tests ---" << std::endl;
35 ClapTrap clapUnit1("BasicBot");
36 clapUnit1.attack("Wild Smeef");
37 clapUnit1.takeDamage(5);
38 clapUnit1.beRepaired(3);
40
41 std::cout << "--- ScavTrap Tests ---" << std::endl;
42 ScavTrap scavUnit1("Guardian");
43 scavUnit1.attack("Bandit");
44 scavUnit1.takeDamage(15);
45 scavUnit1.beRepaired(10);
46 scavUnit1.guardGate();
48
49 std::cout << "--- FragTrap Tests ---" << std::endl;
50 FragTrap fragUnit1("Blitz");
51 fragUnit1.attack("Psycho");
52 fragUnit1.takeDamage(35);
53 fragUnit1.beRepaired(20);
54 fragUnit1.highFivesGuys();
56
57 std::cout << "--- DiamondTrap Tests ---" << std::endl;
58 DiamondTrap diamondUnit1("Gemini");
59 DiamondTrap diamondUnit2("Sparkle");
60 DiamondTrap diamondUnit3;
61 DiamondTrap diamondUnit4(diamondUnit1);
62 DiamondTrap diamondUnit5;
63 diamondUnit5 = diamondUnit2;
64
66
67 diamondUnit1.attack("Marauder");
68
69 // diamondUnit2.FragTrap::takeDamage(40);
70 // diamondUnit1.FragTrap::beRepaired(25);
71
72 // diamondUnit2.ScavTrap::takeDamage(40);
73 // diamondUnit1.ScavTrap::beRepaired(25);
74
75 // diamondUnit2.FragTrap::takeDamage(40);
76 // diamondUnit1.ScavTrap::beRepaired(25);
77
78 // diamondUnit2.ClapTrap::takeDamage(40);
79 // diamondUnit1.ClapTrap::beRepaired(25);
80
81 diamondUnit2.takeDamage(40);
82 diamondUnit1.beRepaired(25);
83
84 diamondUnit2.whoAmI();
85 diamondUnit3.highFivesGuys();
86 diamondUnit3.guardGate();
87
89
90 std::cout << "--- DiamondTrap Construction/Destruction Order ---" << std::endl;
91 {
92 DiamondTrap tempDiamond("Shiny");
93 tempDiamond.whoAmI();
94 }
96
97 return 0;
98}
Header file for the DiamondTrap class, inheriting from FragTrap and ScavTrap.
Represents a basic robot character.
Definition ClapTrap.hpp:34
void beRepaired(unsigned int amount)
beRepaired function implementation.
Definition ClapTrap.cpp:108
void takeDamage(unsigned int amount)
takeDamage function implementation.
Definition ClapTrap.cpp:89
void attack(const std::string &target)
Attack function implementation.
Definition ClapTrap.cpp:73
Represents a DiamondTrap robot, inheriting from both FragTrap and ScavTrap.
void attack(const std::string &target)
Attack function implementation for DiamondTrap, using ScavTrap's attack.
void whoAmI()
whoAmI function implementation for DiamondTrap.
Represents a FragTrap robot, a specialized type derived from ClapTrap.
Definition FragTrap.hpp:38
void highFivesGuys(void)
highFivesGuys function implementation for FragTrap.
Definition FragTrap.cpp:96
virtual void attack(const std::string &target)
Attack function implementation for FragTrap.
Definition FragTrap.cpp:81
Represents a ScavTrap robot, a specialized type derived from ClapTrap.
Definition ScavTrap.hpp:38
virtual void attack(const std::string &target)
Attack function implementation for ScavTrap.
Definition ScavTrap.cpp:77
void guardGate()
guardGate function implementation for ScavTrap.
Definition ScavTrap.cpp:92
T endl(T... args)
int main()
Main function.
Definition main.cpp:26
Header file for the ClapTrap class.
Header file for the FragTrap class, a derived class of ClapTrap.
Header file for the ScavTrap class, a derived class of ClapTrap.