Enter password:
#include < iostream >
using namespace std;
int main()
{
  int a = 54;
  int b = a;
  cout << a << " " << b << endl; // will print out 54 54
  b = 12;
  cout << a << " " << b << endl; // will print out 54 12 -> change of b doesn't affect a
}
            
            
#include < iostream >
using namespace std;
int main()
{
  int a = 54;
  int *b = & a; // b is a pointer pointing to a
  cout << a << " " << *b << endl; // will print out 54 54
  *b = 12;
  cout << a << " " << b << endl; // will print out 12 12 -> change of b affects a
}
            
        
#include < iostream >
using namespace std;
double maximum(const double* a, int a_size)
{
  if(a_size==0) return 0;
  double highest = *a;
  const double* p = a+1;
  int count = a_size - 1;
  while(count > 0)
  {
    if(*p > highest) highest = *p;
    p++;
    count--;
  }
  return highest;
}
int main()
{
  int a_size = 10;
  double a[] = {2,4,6,8,10,1,3,5,7,9};
  // This for loop will print out all the items in an array a
  for(int i = 0; i < a_size; ++i)
  {
    cout << *(a+i) << " ";
  }
  cout << endl;
  
  cout << "The maximum is " << maximum(a,a_size) << endl; // will print out 10
}
            
        Enter password:
Implement a class Person with the following fields:
Write a program that reads in a list of names, allocates a new Person for each of them, and stores them in a vector<Person*>. Then ask the name of the best friend for each of the Person objects. Locate the object matching the friend's name and call a set_best_friend member function to update the pointer and counter. Finally, print out all Person objects, listing the name, best friend, and popularity counter for each.
 
            
#include < iostream >
#include < vector >
#include < string >
using namespace std;
class Person
{
public:
  Person();
  Person(string pname);
  string get_name() const;
  Person* get_best_friend() const;
  int get_popularity() const;
  void set_best_friend(Person* someone);
  void add_popularity();
private:
  string name;
  Person* best_friend;
  int popularity;
};
Person::Person():name(""), best_friend(NULL), popularity(0) {}
Person::Person(string pname):name(pname), best_friend(NULL), popularity(0) {}
string Person::get_name() const
{
  return name;
}
Person* Person::get_best_friend() const
{
  return best_friend;
}
int Person::get_popularity() const
{
  return popularity;
}
void Person::add_popularity()
{
  popularity++;
}
void Person::set_best_friend(Person* someone)
{
  someone->add_popularity();
  best_friend = someone;
}
int main()
{
  vector< Person* > person_list;
  while(true)
  {
    cout << "Type name (Q to quit) : ";
    string name;
    cin >> name;
    if(name == "Q") break;
    Person* new_person = new Person(name);
    person_list.push_back(new_person);
  }
  for(int i = 0; i < person_list.size(); ++i)
  {
    cout << person_list[i]->get_name() << "'s best friend? : ";
    string name;
    cin >> name;
    for(int j = 0; j < person_list.size(); ++j)
    {
      if(name == person_list[j]->get_name())
      {
        person_list[i]->set_best_friend(person_list[j]);
        break;
      }
    }
  }
  for(int i = 0; i < person_list.size(); ++i)
  {
    string name = person_list[i]->get_name();
    string best_friend_name = person_list[i]->get_best_friend()->get_name();
    int popularity = person_list[i]->get_popularity();
    cout << name << "'s best friend is " << best_friend_name << " and popularity is " << popularity << endl;
  }
  // Delete pointers
  for(int i = 0; i < person_list.size(); ++i)
  {
    delete person_list[i];
  }
}