Question

In: Computer Science

write a C++ program to CREATE A CLASS EMPLOYEE WITH YOUR CHOICE OF ATTRIBUTES AND FUNCTIONS...

write a C++ program to CREATE A CLASS EMPLOYEE WITH YOUR CHOICE OF ATTRIBUTES AND FUNCTIONS COVERING THE
FOLLOWING POINTS:
1) COUNTING NUMBER OF OBJECTS CREATED ( NO OBJECT ARRAY TO BE USED) USING ROLE OF
STATIC MEMBER
2) SHOWING THE VALID INVALID STATEMENTS IN CASE OF STATIC MEMBER WITH NON STATIC
MEMBER FUNCTION, NON STATIC MEMBERS OF CLASS WITH STATIC MEMBER FUNCTION, BOTH
STATIC. SHOW THE ERRORS WHERE STATEMENTS ARE INVALID.
3) CALL OF STATIC MEMBER FUNCTION, DECLARATION OF STATIC VARIABLE.
4) STATIC OBJECTS : HOW TO USE; WHERE TO USE
5) CAN STATIC MEMBER FUNCTION BE USED FOR INVOKING ANY CONSTRUCTOR OF THE CLASS.
6) STATIC MEMBER FUNCTION TO INVOKE PRIVATE CONSTRUCTOR

Solutions

Expert Solution

Static Objects:

Static object is an object that persists from the time it's constructed until the end of the program. So, stack and heap objects are excluded. But global objects, objects at namespace scope, objects declared static inside classes/functions, and objects declared at file scope are included in static objects. Static objects are destroyed when the program stops running.Static objects are declared with the keyword static. They are initialized only once and stored in the static storage area. The static objects are only destroyed when the program terminates i.e. they live until program termination.The static data member is always initialized to zero when the first class object is created. static data_type data_member_name; In the above syntax, static keyword is used.

We can invoke private constructor using static member function of class.

#include <iostream>
using namespace std;

class Employee
{
public:
static Employee createA() { return Employee(0); }
static void dosomething(Employee *a) { return a->something(); }
Employee()
{
Id=++objcnt;
}
~Employee()
{
--objcnt;
}
void printIdNumber(void)
{
cout<<"Id Number :"<<Id<<"\n";
}
static void printIdCount(void)
{
cout<<"Count :"<<objcnt<<"\n";
}
private:
Employee (int x) { cout << "ctor" << endl; }
void something() { cout << "something" << endl; }
int Id;
char Name[25];
int Age;
long Salary;
static int objcnt;
public:
void GetData();
void PutData();
  
};
int Employee::objcnt;

int main(void)
{
Employee a = Employee::createA();
Employee::dosomething(&a);
Employee e1,e2; //Statement 3 : Creating Object
Employee::printIdCount();
Employee e3;
e1.printIdNumber();
  e2.printIdNumber();
return 0;
}


Related Solutions

Create an Employee class having the following functions and print the final salary in c++ program....
Create an Employee class having the following functions and print the final salary in c++ program. - getInfo; which takes the salary, number of hours of work per day of employee as parameters - AddSal; which adds $10 to the salary of the employee if it is less than $500. - AddWork; which adds $5 to the salary of the employee if the number of hours of work per day is more than 6 hours.
Create a class Employee. Your Employee class should include the following attributes: First name (string) Last...
Create a class Employee. Your Employee class should include the following attributes: First name (string) Last name (string) Employee id (string) Employee home street address (string) Employee home city (string) Employee home state (string) Write a constructor to initialize the above Employee attributes. Create another class HourlyEmployee that inherits from the Employee class.   HourEmployee must use the inherited parent class variables and add in HourlyRate and HoursWorked. Your HourEmployee class should contain a constructor that calls the constructor from the...
********************C# C# C#******************** Part A: Create a project with a Program class and write the following...
********************C# C# C#******************** Part A: Create a project with a Program class and write the following two methods(headers provided) as described below: 1. A Method, public static int InputValue(int min, int max), to input an integer number that is between (inclusive) the range of a lower bound and an upper bound. The method should accept the lower bound and the upper bound as two parameters and allow users to re-enter the number if the number is not in the range...
C++ PROGRAM 1) Create a "CashOut" currency class with two integer attributes and one string attribute,...
C++ PROGRAM 1) Create a "CashOut" currency class with two integer attributes and one string attribute, all of which are non-public. The int attributes will represent the whole part (or currency note value) and fractional part (or currency coin value) such that 100 fractional parts equal 1 whole part. The string attribute will represent the currency name. 2) Create a "MoreCash" derived/inherited class with one additional non-public double attribute to represent the conversion factor from/to US Dollar. The value of...
This assignment will test your knowledge and skills in C++. Create a class named employee and...
This assignment will test your knowledge and skills in C++. Create a class named employee and have the data members of: Name ID Salary Create a class named manager that inherits the employee class and adds the data members: Managed_Employees (Array of up to 3 employees) Department Create methods to update each data member in the employee class. Create a method to print out the managed employees sorted by their salary in the manager class. (You can use one of...
Write a C++ program to allow the user to: 1. Create two classes. Employee and Departments....
Write a C++ program to allow the user to: 1. Create two classes. Employee and Departments. The Department class will have: DepartmentID, Departmentname, DepartmentHeadName. The Employee class will have employeeID, emploeename, employeesalary, employeeage, employeeDepartmentID. Both of the above classes should have appropriate constructors, accessor methods. 2. Create two arrays . One for Employee with the size 5 and another one for Department with the size 3. Your program should display a menu for the user to do the following: 1....
Specifications Create an abstract Employee class that provides private attributes for the first name, last name,...
Specifications Create an abstract Employee class that provides private attributes for the first name, last name, email address, and social security number. This class should provide functions that set and return the employee’s first name, last name, email address, and social security number. This class has a function: get_net_income which returns 0. Create a Manager class that inherits the Employee class. This class should add private attributes for years of experience and the annual salary. This class should also provide...
C++ Write a program to create a linked list which stores the details of employees(Employee number,...
C++ Write a program to create a linked list which stores the details of employees(Employee number, employee name, rate, hours worked). Create a menu to manage the emoployee data. MENU 1. ADD EMPLOYEE DETAILS 2. DELETE EMPLOYEE 3. SEARCH EMPLOYEE 4. PRINT EMPLOYEE PAYROLL 5. EXIT When the user selected option #4 the program should print the following pay report for each employee: EmpNo.     Name      Rate    Hours    Regular Pay      Overtime Pay     Gross Pay Any hours worked above 40 hours are...
In C++ Demonstrate inheritance. Create an Airplane class with the following attributes: • manufacturer : string...
In C++ Demonstrate inheritance. Create an Airplane class with the following attributes: • manufacturer : string • speed : float Create a FigherPlane class that inherits from the Airplane class and adds the following attributes: • numberOfMissiles : short
Write in C++ language. (Employee Record): Create a class named 'Staff' having the following members: Data...
Write in C++ language. (Employee Record): Create a class named 'Staff' having the following members: Data members - Id – Name - Phone number – Address - AgeIt also has a function named 'printSalary' which prints the salary of the staff.Two classes 'Employee' and 'Officer' inherits the 'Staff' class. The 'Employee' and 'Officer' classes have data members 'Top Skill' and 'department' respectively. Now, assign name, age, phone number, address and salary to an employee and a officer by making an...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT