You would like to verify the credentials of a user for your system. Listed next is a class named Security, which authenticates a user and password. (Note that this example is really not very secure. Typically passwords would be encrypted or stored in a database.) class Security { public: static int validate(string username, string password); }; // This subroutine hard-codes valid users and is not // considered a secure practice. // It returns 0 if the credentials are invalid, // 1 if valid user, and // 2 if valid administrator int Security::validate(string username, string password) { if ((username=="abbott") && (password=="monday")) return 1; if ((username=="costello") && (password=="tuesday")) return 2; return 0; } using c++,Break this class into two files, a file with the header Security.h and a file with the implementation Security.cpp. Next, create two more classes that use the Security class by including the header file. The first class should be named Administrator and contain a function named Login that returns true if a given username and password have administrator clearance. The second class should be named User and contain a function named Login that returns true if a given username and password have either user or administrator clearance. Both the User and Administrator classes should be split into separate files for the header and implementation. Finally, write a main function that invokes the Login function for both the User and Administrator classes to test if they work properly. The main function should be in a separate file. Be sure to use the #ifndef directive to ensure that no header file is included more than once.
You would like to verify the credentials of a user for your system. Listed next is a
class named Security, which authenticates a user and password. (Note that this
example is really not very secure. Typically passwords would be encrypted or stored
in a
class Security
{
public:
static int validate(string username, string password);
};
// This subroutine hard-codes valid users and is not
// considered a secure practice.
// It returns 0 if the credentials are invalid,
// 1 if valid user, and
// 2 if valid administrator
int Security::validate(string username, string password)
{
if ((username=="abbott") && (password=="monday")) return 1;
if ((username=="costello") && (password=="tuesday")) return 2;
return 0;
}
using c++,Break this class into two files, a file with the header Security.h and a file with the
implementation Security.cpp.
Next, create two more classes that use the Security class by including the header
file. The first class should be named Administrator and contain a function
named Login that returns true if a given username and password have administrator clearance. The second class should be named User and contain a function
named Login that returns true if a given username and password have either user
or administrator clearance.
Both the User and Administrator classes should be split into separate files for the
header and implementation.
Finally, write a main function that invokes the Login function for both the User
and Administrator classes to test if they work properly. The main function
should be in a separate file. Be sure to use the #ifndef directive to ensure that no
header file is included more than once.
note:don't use chegg
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
Main was not completed..
Finally, write a main function that invokes the Login function for both the User
and Administrator classes to test if they work properly. The main function
should be in a separate file. Be sure to use the #ifndef directive to ensure that no
header file is included more than once.
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Concepts of Database Management](https://www.bartleby.com/isbn_cover_images/9781337093422/9781337093422_smallCoverImage.gif)
![Prelude to Programming](https://www.bartleby.com/isbn_cover_images/9780133750423/9780133750423_smallCoverImage.jpg)
![Sc Business Data Communications and Networking, T…](https://www.bartleby.com/isbn_cover_images/9781119368830/9781119368830_smallCoverImage.gif)