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

КАК ОБОЙТИ VIRTUAL? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не работает быстрая сортировка http://www.cyberforum.ru/cpp-beginners/thread1049125.html
Здравствуйте! У меня не выходит быстрая сортировка. Проблема в функции partition. #include <iostream> #include <ctime> #include <iomanip> using namespace std; const int n=25; struct INF
C++ Удаление за все даты, предшествующие заданной Здравствуйте:) Ребята, помогите пожалуйста. Описала удаление вроде бы как правильно, компилятор пропускает, но с реализацией проблемы. Программа зависает сразу же после ввода даты. #include "iostream" #include "stdio.h" #include "conio.h" #include "stdlib.h" #include "string.h" using namespace std; struct data { http://www.cyberforum.ru/cpp-beginners/thread1049124.html
C++ Сортировка кучей
#include <iostream> #include <fstream> #include <string> using namespace std; class Date { public: int year;
C++ Посчитать массив A в степени n
Доброго времени суток. Обращаюсь за помощью, так как не могу никак понять, как решать поставленную задачу: Вычислить An, где n - натуральное число. А - матрица nxn.
C++ Массивы. Вставить новую строку после строки, в которой находится первый встречный минимальный элемент http://www.cyberforum.ru/cpp-beginners/thread1049112.html
Условие: В двумерном массиве, элементы которого - целые числа, произвести след. действия: Вставить новую строку после строки, в которой находится первый встречный минимальный элемент. Очень выручите если поможете
C++ Структуры. Хранение информации о пользователях Добрый вечер! В поисках интересующей информации,заглядывая на этот сайт, всегда поражаюсь тому,сколько здесь находится чудесных,умных и отзывчивых людей! Теперь мне необходима ваша помощь!) преподаватель дал тему "структуры" -создать структуру для хранения информации о пользователях интернет-магазина -определить средний возраст пользователей я рассчитываю на вас! подробнее

Показать сообщение отдельно
SNZR
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 5
19.12.2013, 22:57     КАК ОБОЙТИ VIRTUAL?
Подскажите, возможно ли избежать в данной программе виртуальный метод? Если нет, то почему? Если да, то как?

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
#include "stdafx.h"
#include "CMeter1.h"
#include "CMeter2.h"
#include "CMeter3.h"
#include "iostream"
using namespace std;
 
const int n=3;
 
int _tmain(int argc, _TCHAR* argv[])
{
    bool e;
    char c;
    CBase* Meter[n];
 
    e=0;
    Meter[0] = new CMeter1();
    Meter[1] = new CMeter2();
    Meter[2] = new CMeter3();
 
    printf("Menu:\n1.Test Meter #1\n2.Test Meter #2\n3.Test Meter #3\nX. Exit\n");
    while(!e)
    {
        printf("Choice:");
        cin>>c;
        switch (c)
        {
        case '1':
            {
                Meter[0]->dimension();
            }
            break;
        
        case '2':
            {
                Meter[1]->dimension();
            }
            break;
 
        case '3':
            {
                Meter[2]->dimension();
            }
            break;
 
        case 'x': case 'X':
            {
                printf("Exiting...\n");
                e=1;
            }
            break;
 
        default:
            {
                printf("Incorrect choice! Retrty!\n");
            }
        }
    }
    
 
 
    return 0;
}
CBase.h:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#pragma once
#include "stdafx.h"
 
class CBase
{
public:
    CBase();
    ~CBase();
    virtual void dimension();
 
protected:
    int m_value;
};

CBase.cpp:

C++
1
2
3
4
5
6
#include "stdafx.h"
#include "CBase.h"
 
CBase::CBase(){}
CBase::~CBase(){}
void CBase::dimension(){}
CMeter1.h:

C++
1
2
3
4
5
6
7
8
9
10
#include "stdafx.h"
#include "CBase.h"
 
class CMeter1:public CBase
{
public:
    CMeter1();
    ~CMeter1();
    virtual void dimension();
};
CMeter1.cpp:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include "CMeter1.h"
 
CMeter1::CMeter1():CBase()
{
}
 
CMeter1::~CMeter1()
{
}
 
void CMeter1::dimension()
{
    srand(time(NULL));
    m_value=rand()%1001;
    m_value=~m_value;
    printf("Meter 1: %d %X\n",m_value,m_value);
}
CMeter2.h:

C++
1
2
3
4
5
6
7
8
9
10
#include "stdafx.h"
#include "CBase.h"
 
class CMeter2: public CBase
{
public:
    CMeter2();
    ~CMeter2();
    virtual void dimension();
};
CMeter2.cpp:

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
#include "stdafx.h"
#include "CMeter2.h"
 
CMeter2::CMeter2():CBase()
{
}
 
CMeter2::~CMeter2()
{
}
 
void CMeter2::dimension()
{
    int s1,s2;
    s1=s2=0;
    srand(time(NULL));
    m_value=rand()%1001;
    s1=m_value;
    while (m_value!=0)
    {
        s2=s2+m_value%10;
        m_value=m_value/10;
    }
    printf("Meter 2: %d %d\n",s1,s2);
}
CMeter3.h:

C++
1
2
3
4
5
6
7
8
9
10
#include "stdafx.h"
#include "CBase.h"
 
class CMeter3: public CBase
{
public:
    CMeter3();
    ~CMeter3();
    virtual void dimension();
};






CMeter3.cpp:

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
#include "stdafx.h"
#include "CMeter3.h"
 
CMeter3::CMeter3():CBase()
{
}
 
CMeter3::~CMeter3()
{
}
 
void CMeter3::dimension()
{
    srand(time(NULL));
    m_value=rand()%1001;
    int val=m_value;
    if (m_value%2==0)
    {
        m_value=m_value>>1;
        printf("Inital value %i is even. Right shift: %i\n", val, m_value);
    }
    else
    {
        m_value=m_value<<1;
        printf("Inital value %i is odd. Left shift: %i\n", val, m_value);
    }
}
stdafx.h

C++
1
2
3
4
5
6
7
8
9
#pragma once
#pragma warning(disable: 4244)
 
#include "targetver.h"
 
#include <stdio.h>
#include <tchar.h>
#include <time.h>
#include <stdlib.h>
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru