tabtenn1.h
#pragma once
#include<string>
using std::string;
class TableTennisPlayer
{
private:
string firstname;
string lastname;
bool hasTable;
public:
TableTennisPlayer(const string & fn = "none",
const string & in = "none", bool ht = false);
void Name() const;
bool HasTable() const { return hasTable; };
void ResetTable(bool v) { hasTable = v; };
};
class Rateplayer : public TableTennisPlayer
{
private:
unsigned int rating;
public:
Rateplayer(unsigned int r = 0, const string & fn = "none",
const string & in = "none", bool ht = false);
Rateplayer(unsigned int r, const TableTennisPlayer & tp);
unsigned int Rating() const { return rating; }
void ResetRating(unsigned int r) { rating = r; }
};
tabtenn1.cpp
#include<iostream>
#include"tabtenn1.h"
TableTennisPlayer::TableTennisPlayer(const string & fn,
const string & ln, bool ht): firstname(fn),
lastname(ln), hasTable(ht){}
void TableTennisPlayer::Name() const
{
std::cout << lastname << ", " << firstname;
}
Rateplayer::Rateplayer(unsigned int r, const string & fn,
const string & ln, bool ht) : TableTennisPlayer(fn, ln, ht)
{
rating = r;
}
Rateplayer::Rateplayer(unsigned int r, const TableTennisPlayer & tp)
: TableTennisPlayer(tp), rating(r)
{
}
usett1.cpp
#include<iostream>
#include"tabtenn1.h"
int main()
{
using std::cout;
using std::endl;
TableTennisPlayer player1("Tara", "Boomdea", false);
Rateplayer rplayer1(1140, "Mallly", "Duck", true);
rplayer1.Name();
if (rplayer1.HasTable())
cout << ": has a table.\n";
else
cout << ": hasn't a table.\n";
player1.Name();
if (player1.HasTable())
cout << ": has a table.\n";
else
cout << ": hasn't a table.\n";
cout << "Name: ";
rplayer1.Name();
cout << "; rating: " << rplayer1.Rating() << endl;
Rateplayer rplayer2(1212, player1);
cout << "Name: ";
rplayer2.Name();
cout << "; Rating: " << rplayer2.Rating() << endl;
system("pause");
return 0;
}