Форум программистов, компьютерный форум, киберфорум
Наши страницы

Полиморфизм, виртуальные функции, перегрузка функций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с классом Cfile http://www.cyberforum.ru/cpp-beginners/thread899151.html
Ребят выручайте. Нужно код переделать через класс Cfile и так чтоб он мог работать с большими файлами, к примеру 6Gb и более. Мой код вот что делает: производит замену указанного массива информации с...
C++ Средства для уменьшения выделения памяти Светофор, установленный на повороте в торговый центр «МЕГА» с Новомосковского тракта, работает в таком режиме, что за одну минуту повернуть успевают k машин. По выходным, когда жители города едут... http://www.cyberforum.ru/cpp-beginners/thread899138.html
Возвращение значения из switch-default C++
Здравствуйте! У меня задача на создание двох фунций, которые вычисляют среднее значение двух и трех чисел соответственно. Все это я сделал. Но для юзабилити (:)) решил при вводе данных в основной...
Практикум. Условие вроде неверное C++
В задаче нужно написать функцию вычисления суммы ряда и значение контрольной функции к которой он сходится. Я вроде бы осилил, но в результате сумма мягко говоря не совпадает со значением...
C++ Преобразование http://www.cyberforum.ru/cpp-beginners/thread899112.html
есть переменная чар. есть куча переменных типа инт. int a,b,c,d,e.. как сделать чтобы при вызове cout<<char c; этот чар давался компилятору не как символьная переменная. а на его место вставлялся...
C++ где ошибка ? не компилирует ! Ввести последовательность чисел (окончание ввода – 0) и вывести их в обратной последовательности. Входные данные взять из текстового файла. #include <iostream> using namespace std; void... подробнее

Показать сообщение отдельно
Karata
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 40

Полиморфизм, виртуальные функции, перегрузка функций - C++

12.06.2013, 13:07. Просмотров 792. Ответов 6
Метки (Все метки)

Изменить программу предыдущей лабораторной работы, функцию определяющую бьет ли первая карта вторую, определитель в базовом классе как виртуальную, переопределив в производном классе с учетом козыря.
Вот предыдущая лабораторная которая называлась "Наследование"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <stdexcept>
 
class Card {
 public:
  Card() : suit(0), rank(0) {}
  Card(int suit, int rank) : suit(suit), rank(rank) {}
  int Suit() const { return suit; }
  int Rank() const { return rank; }
  void Suit(int suit) { this->suit = suit; }
  void Rank(int rank) { this->rank = rank; }int suit;
  int rank;
 private:
  
};
 
const char *CardRankName(int rank) {
  static const char RANK_NAMES[][10] = {"2", "3", "4", "5", "6", "7",
    "8", "9", "10", "Валет", "Королева", "Король", "Туз"};
  return RANK_NAMES[rank];
}
 
const char *CardSuitName(int suit) {
  static const char SUIT_NAMES[][10] = {"Черви", "Пики", "Крести",
    "Буби"};
  return SUIT_NAMES[suit];
}
 
class Game : public Card
{
public:
Game (int suit, int rank) : Card(suit, rank), trumpSuit(0)
   {
   }
   void TrumpSuit(int suit)
   {
      trumpSuit = suit;
   }
   bool isStronger(const Game& other)
   {
      
      return (this->Suit() == other.Suit() && this->Rank() > other.Rank()) ||
         (this->Suit() == trumpSuit && other.Suit() != trumpSuit) ||
         ((this->Suit() == trumpSuit && other.Suit() == trumpSuit) &&
          this->Rank() > other.Rank());
   }
private:
   int trumpSuit;
};
int main(int, char **) {
setlocale(LC_ALL, "Russian");
 
  int trumpSuit = 0; 
 
  std::cin>>trumpSuit;
 
  Game first(3,9);
  
  first.TrumpSuit(trumpSuit);
  Game second(2, 12);
  std::cout <<"Козырь: "<< CardSuitName(trumpSuit)<<std::endl;
 std::cout << CardRankName(first.Rank()) << " " << CardSuitName(first.Suit()) << " " << 
 (first.isStronger(second) ? "Кроет" : "Не кроет") << " " 
 << CardRankName(second.Rank()) << " " << CardSuitName(second.Suit()) << std::endl;
  return 0;
Добавлено через 5 часов 57 минут
Помогите пожалуйста двоишнику((...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru