Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Температура по Фаренгейту и по Цельсию Кто может, пожалуйста, объясните код... #include<stdio.h> #include<locale.h> main() { setlocale(LC_ALL, "rus"); printf("\nТемпература \nпо Фаренгейту и по Цельсию \n"); float faren,cels; float lower,upper,step; lower=0; upper=300; step=20; https://www.cyberforum.ru/ cpp-beginners/ thread1391512.html C++ Шаблон, вложенный в него класс и оператор вывода
Добрый день, делаю учебное задание. надо сделать шаблон стека с использованием односвязного списка. Сделал вот такую функцию: template<typename T> class MyStack2 { class Node1 { Node1* pNext; T* dataPtr;
C++ Разбить программу на функции https://www.cyberforum.ru/ cpp-beginners/ thread1391479.html
Нужно разбить программу на функции: // Структура индив.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <conio.h> #include <string.h> #include <iostream> #include <windows.h>
C++ Программа, определяющая, сколько живых растений будет в N-ом году Время жизни растения составляет 20 лет. В первый год плод растения попадает в землю. Первые побеги растения появляются лишь на 2 год. Плодоносить растение начинает с четвертого года и ежегодно дает по одному плоду, которые сразу попадают в землю, и из них вырастают такие же растения. На 20-ый год своей жизни растение плодоносит в последний раз, а на 21-ый год погибает. программа, которая... https://www.cyberforum.ru/ cpp-beginners/ thread1391468.html
Виды полиморфизма C++ C++
Разбираю полиморфизм. Наткнулся на классификацию с тремя видами:1.специальный, 2.параметрический и 3.подтипов(включения). Все ли виды применимы для классов? Хотелось бы увидеть примеры.
C++ Заполнить квадрат одинаковыми значениями по диагоналям На первой диагонали в квадрате расположены единицы, на второй диагонали – 2, на К – ой диагонали – к. Количество диагоналей у квадрата 2N-1. Программа: Напишите программу, которая поможет заполнить квадрат. Входные данные: Сторона квадрата N. Число N больше 1 и меньше 100. Выходные данные: Числа, которые хранятся в ячейках квадрата (матрицы) размером N×N . https://www.cyberforum.ru/ cpp-beginners/ thread1391462.html
C++ Какому типу переменной соответствует HANDLE? https://www.cyberforum.ru/ cpp-beginners/ thread1391457.html
Доброго времени суток! Разбирал чужой код и возник вопрос. В коде как я понял использовалось WIN API. И был объявлен тип данных HANDLE. Во время поисков в интеренет нашёл разные определения, но так точного ответа и не нашёл. Правильно ли вот это: typedef void* HANDLE;
Шифровки и дешифровка слова под ключ C++
Нужно написать прогу для шифровки и расшифровки слова под ключ. Заранее буду благодарен
C++ Сортировка вставками - Счетчик Здравствуйте, друзья. Есть проблема, имею код - рабочий, не могу реализовать счетчик обменов и сравнений. Вернее он работает, но значения всегда совпадают со счетчиком для пузырька. Я не могу понять почему, не должно же быть подобного. int BubbleSort(int *a, int n)//пузырек { int t = 0;//счетчик сравнений int x = 0;//счетчик обменов for (int i = n - 1; i >= 0; i--) { for... https://www.cyberforum.ru/ cpp-beginners/ thread1391444.html C++ Корни методом дихотомии https://www.cyberforum.ru/ cpp-beginners/ thread1391443.html
Необходимо найти корни методом дихотомии, F(x)=x^3-3*x^2+x-10, с точностью e=0.01. На бумаге вроде что то получилось найти через дискриминант и прочее, а вот как это всё реализовать в программе понятия не имею
C++ Добавление узла перед заданным в односвязном списке
Вот такой код я нашел, но он похоже с ошибками, нету * как минимум. проставил их но тоже не помогло void AddBefore(PNode PHead, PNode p, PNode PNew) { PNode q = PHead; if (Head == p) { { PNew->next = PHead; PHead = PNew; } return;
C++ Настройка домашней страницы в Visual Studio 2013 Ultimate https://www.cyberforum.ru/ cpp-beginners/ thread1391409.html
Всем привет Если тут есть люди которые работают в Visual Studio 2013 Ultimate, помогоите с начальной страницей. Каким образом ее можно настроить и как это сделать подскажите. Мне нужно оставить только те пункты которые с левой стороны, а все остальное вообще убрать. А то при заходе приходиться ждать пока все эти видео прогрузяться и все остальное.
Модератор
Эксперт С++
13502 / 10754 / 6409
Регистрация: 18.12.2011
Сообщений: 28,699
17.03.2015, 23:25  [ТС] 0

Образцы (шаблоны) программ для типовых задач - C++ - Ответ 7354817

17.03.2015, 23:25. Показов 356560. Ответов 23
Метки (Все метки)

Ответ

Образец для создания классов
Иллюстрирует создание базового и производного класса,
а также применение виртуальной функции
и перегрузку потоковых операторов << >>
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include <iostream>
#include <cstring>
using namespace std;
 
class AA
{
private:
    // здесь данные и методы, которые используются только в базовом классе
protected:
    // здесь данные и методы, которые доступны в производном классе
char* str; // для примера строка с динамически выделяемой памятью
public:
    virtual ~AA(){delete[] str;} // деструктор
    AA(){str=new char[1];*str=0;} // конструктор по умолчанию
    AA(char* x)     // конструктор с параметрами
    {
        str=new char[strlen(x)+1];
        strcpy(str,x);
    }
    AA(const AA& a)  // копиконструктор
    {
        str=new char[strlen(a.str)+1];
        strcpy(str,a.str);
    }
    AA& operator=(const AA& a)  // operator= (правило ТРЕХ)
    {
        if(this==&a)  // обязательно проверяем, что нет присвоения типа x=x;
            return *this;
        if(strlen(str)!=strlen(a.str))
        {
            delete[] str;
            str=new char[strlen(a.str)+1];
        }
        strcpy(str,a.str);
        return *this;
    }
    virtual void f(){cout<<" class A\n";} // виртуальная функция
    friend ostream& operator<<(ostream& os,const AA& a); // перегрузка потокового вывода
    friend istream& operator>>(istream& os,AA& a); // перегрузка потокового ввода
};
//-----------------------------------------------------
ostream& operator<<(ostream& os,const AA& a)
{
    os<<a.str<<endl;
    return os;
}
istream& operator>>(istream& is,AA& a)
{
    char tmp[100];
    is.getline(tmp,100);
    delete[] a.str;
    a.str=new char[strlen(tmp)+1];
    strcpy(a.str,tmp);
    return is;
}
//-----------------------------------------------------
 
class BB : public AA
{
private:
    int SIZE; // дополнительные данные
public:
    ~BB(){}
    BB():AA(){SIZE=strlen(str);}
    BB(char* x):AA(x){SIZE=strlen(str);} // обязательно вызываем конструктор базового класса
    BB(BB& a):AA(a){SIZE=strlen(str);} // обязательно вызываем конструктор базового класса
    BB& operator=(const BB& a)  
    {
        if(this==&a)
            return *this;
        if(SIZE!=a.SIZE)
        {
            delete[] str;
            str=new char[SIZE+1];
        }
        strcpy(str,a.str);
        return *this;
    }
    void f(){cout<<" class B\n";}
    friend ostream& operator<<(ostream& os,const BB& a);
    friend istream& operator>>(istream& os,BB& a);
 
};
//-----------------------------------------------------
ostream& operator<<(ostream& os,const BB& a)
{
    os<<a.str<<" Size="<<a.SIZE<<endl;
    return os;
}
istream& operator>>(istream& is,BB& a)
{
 
    char tmp[100];
    is.getline(tmp,100);
    delete[] a.str;
    a.SIZE=strlen(a.str);
    a.str=new char[a.SIZE+1];
    strcpy(a.str,tmp);
    return is;
}
//----------------------------------------------------- 
int main() 
{
    char tst[]="Hello";
    AA a(tst);  // базовый класс
    a.f();      // невиртуальный вызов f() из AA
    AA a2;
    a2=a;  // operator=
    cout<<a2;
    
    BB b(tst);  // производный класс
    b.f();      // невиртуальный вызов f() из BB
    BB b2=b;    // копиконструктор эквивалентно BB b2(b);
    cout<<b;  
 
    AA* pa; 
// Указателю на базовый класс присваиваем адрес ПРОИЗВОДНОГО класса:
    pa=&b;   
    pa->f();// виртуальный вызов f() из B
    pa->AA::f();// невиртуальный вызов f() из AA
 
    //system("pause");
    return 0;
}


Вернуться к обсуждению:
Образцы (шаблоны) программ для типовых задач C++
7
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2015, 23:25
Готовые ответы и решения:

Подскажите пожалуйста, где можно найти образцы (шаблоны) программ для типовых задач на Паскале?
Здравствуйте ! Подскажите пожалуйста, где можно найти образцы (шаблоны) программ для типовых задач...

Разработка типовых программ обработки информации
Помогите , срочно, в документе на 3-ей странице сделать первый вариант.

Решение типовых задач в MathCAD
Случилась беда, на комп не могу установить Маткад, пользоваться могу им только на паре (очень мало...

ПОЛЕЗНО! Примеры решений типовых задач
https://www.cyberforum.ru/matlab/thread915743.html ...

ПОЛЕЗНО! Примеры решений типовых задач
https://www.cyberforum.ru/matlab/thread915743.html ...

23
17.03.2015, 23:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2015, 23:25
Помогаю со студенческими работами здесь

ПОЛЕЗНО! Примеры решений типовых задач
https://www.cyberforum.ru/matlab/thread915743.html ...

ПОЛЕЗНО! Примеры решений типовых задач
https://www.cyberforum.ru/matlab/thread915743.html ...

ПОЛЕЗНО! Примеры решений типовых задач
https://www.cyberforum.ru/matlab/thread915743.html ...

Программирование типовых числовых задач обработки одномерных массивов
1) Вычислить и запомнить в структуре одномерного массива (таблица 1) фиксированное количество...

Комплекс типовых задач обработки числовых одномерных массивов
1. Разработать и отладить программу на С++ для решения комплекса типовых задач обработки числовых...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru