In: Computer Science
8.20 Person Pointer Function Make a function that will accept a pointer to a vector of Person pointers as a parameter. Return a pointer to the Person with the highest salary. The function must be signatured like: Person* getBestPaid(vector*); The class definition is: class Person { public: double salary; string name; }; You may include code in your main() to test, but the tests in this assignment will ensure your code is correct. You may assume there will ways be at least 1 element in the vector for the purpose of this exercise.
//highsal.cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// class definition
class Person
{
public:
    double salary;
    string name;
    // constructor for initializing the data
    Person(double sal, string n)
    {
        salary = sal;
        name = n;
    }
};
// function to find best paid person
Person *getBestPaid(vector<Person *> persons)
{
    // intial best persion paid it at 0 index
    Person *p = persons[0];
    // iterating through persons
    for (auto &per : persons)
    {
        // comparing salary
        // if greater then updating person
        if (per->salary > p->salary)
            p = per;
    }
    return p;
}
int main()
{
    // vector if Person pointer
    vector<Person *> persons;
    // added few test data
    persons.push_back(new Person(2132, "rakesh"));
    persons.push_back(new Person(64578, "amit"));
    persons.push_back(new Person(6734, "Sona"));
    persons.push_back(new Person(878734, "Kranti"));
    persons.push_back(new Person(3442, "Somya"));
    persons.push_back(new Person(2333, "Rohit"));
    // calling the function and printig the result
    Person *bestPaidPerson = getBestPaid(persons);
    cout << "Best Paid person" << endl
         << "Name: " << bestPaidPerson->name << "\tSalary: " << bestPaidPerson->salary << endl;
}
// OUTPUT

Please do let me know if u have any concern...