Advertisement
Guest User

Untitled

a guest
Feb 21st, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. #include<iostream>
  2. #include<string>
  3. using namespace std;
  4.  
  5. class Person {
  6. public:
  7. Person() {
  8. }
  9. Person(string firstName, string familyName)
  10. : mFirstName( firstName ), mFamilyName( familyName ) {
  11. }
  12. void setData(string firstName, string familyName) {
  13. mFirstName = firstName;
  14. mFamilyName = familyName;
  15. }
  16. void printData() const {
  17. cout << "First name: " << mFirstName << endl;
  18. cout << "Family name" << mFamilyName << endl;
  19. }
  20. Person operator+(const Person& person) const {
  21. printData();
  22. return Person(mFirstName + person.mFirstName,
  23. mFamilyName + person.mFamilyName);
  24. }
  25. private:
  26. string mFirstName;
  27. string mFamilyName;
  28. };
  29.  
  30.  
  31. template<typename T, typename S>
  32. T sum(T a, S b) {
  33. return a + b;
  34. }
  35.  
  36. template<typename T>
  37. T max(T a, T b) {
  38. if (a > b) {
  39. return a;
  40. }
  41. else
  42. return b;
  43. }
  44.  
  45. template<class T>
  46. class Table {
  47. public:
  48. T get(int index) {
  49. if (index < itemsCount) {
  50. return items[index];
  51. }
  52. return T{};
  53.  
  54. }
  55. void add(T type) {
  56. if (itemsCount >= 10) return; // Table full
  57. items[itemsCount] = type;
  58. itemsCount++;
  59. }
  60. private:
  61. T items[10];
  62. int itemsCount = 0;
  63. };
  64.  
  65. int main() {
  66. int a{ 10 };
  67. Table<int> luvut;
  68. luvut.add(30);
  69. luvut.add(20);
  70. cout << luvut.get(0) << endl;
  71. cout << luvut.get(1) << endl;
  72. Table<Person> henkilot;
  73. henkilot.add(Person("Pekka", "Virtanen"));
  74. henkilot.get(0).printData();
  75.  
  76.  
  77.  
  78.  
  79. Person pekka("Pekka", "Nieminen");
  80. Person marja("Marja", "Virtanen");
  81.  
  82. Person ville = sum(pekka, marja);
  83. ville.printData();
  84.  
  85.  
  86. system("pause");
  87. return EXIT_SUCCESS;
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement