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

Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images

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.








