Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с классом Cfile http://www.cyberforum.ru/cpp-beginners/thread899151.html
Ребят выручайте. Нужно код переделать через класс Cfile и так чтоб он мог работать с большими файлами, к примеру 6Gb и более. Мой код вот что делает: производит замену указанного массива информации с позиции к до позиции m в файле на массив информации находящийся в этом же файле c позиции к+i до позиции m+i. Вот сам код: #include <stdio.h> #include <stdlib.h> #include <iostream> using...
C++ Средства для уменьшения выделения памяти Светофор, установленный на повороте в торговый центр «МЕГА» с Новомосковского тракта, работает в таком режиме, что за одну минуту повернуть успевают k машин. По выходным, когда жители города едут закупаться продуктами и одеждой, перед этим поворотом вырастает огромная пробка. Администрация торгового центра дала указание повесить под строящимся неподалёку мостом камеру, подсчитывающую количество... http://www.cyberforum.ru/cpp-beginners/thread899138.html
Возвращение значения из switch-default C++
Здравствуйте! У меня задача на создание двох фунций, которые вычисляют среднее значение двух и трех чисел соответственно. Все это я сделал. Но для юзабилити (:)) решил при вводе данных в основной ф-ции сделать вопрос: ввести только два числа или перейти к вводу третьего.... #include "stdafx.h" #include <iostream> #include <locale.h> using namespace std; int midl( int &x, int &y) {...
Практикум. Условие вроде неверное C++
В задаче нужно написать функцию вычисления суммы ряда и значение контрольной функции к которой он сходится. Я вроде бы осилил, но в результате сумма мягко говоря не совпадает со значением контрольной функции. В общем мне кажется, что вариант косячный, может кто подобный уже видел и знает правильное условие? На всякий случай вот мой код нахождения a n-го: an = pow(2,2*n)*(pow(2,2*n) -...
C++ Преобразование http://www.cyberforum.ru/cpp-beginners/thread899112.html
есть переменная чар. есть куча переменных типа инт. int a,b,c,d,e.. как сделать чтобы при вызове cout<<char c; этот чар давался компилятору не как символьная переменная. а на его место вставлялся символ и выводил одну из переменных типов инт. define наверно на помощь прийдет. но как использовать не знаю.. помогите
C++ где ошибка ? не компилирует ! Ввести последовательность чисел (окончание ввода – 0) и вывести их в обратной последовательности. Входные данные взять из текстового файла. #include <iostream> using namespace std; void show(int *mas, int kol) { if(kol == 0) cout << mas << " "; else подробнее

Показать сообщение отдельно
Karata
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 40
19.06.2013, 04:28  [ТС]     Полиморфизм, виртуальные функции, перегрузка функций
Кудаив
Вроде сделал все как вы сказали но вылезает куча ошибок, впишите это в код пожалуйста

Добавлено через 12 минут
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
66
67
68
69
70
71
72
#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;
   virtual bool isStronger(const Card& 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());
    }
   virtual ~Card(){}
   private:
    int trumpSuit;
};
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 Card& other)
   {
    
   }
private:
   int trumpSuit;
};
int main(int, char **) {
setlocale(LC_ALL, "Russian");
 
  int trumpSuit = 0; 
 
  std::cin>>trumpSuit;
 
  Game first(3,9);
  Card* one = new Game(3,9);
Card* two = new Card(2, 3);
  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;
 delete one;
delete two;
   return 0;
  }
Вот так работает, это правильно?
 
Текущее время: 14:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru