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];
}
}