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

Приоритетная очередь и конструктор копии - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ добавить класс в программу http://www.cyberforum.ru/cpp-beginners/thread664750.html
Помогите пожалуйста, нужно создать класс который будет работать с массивами, а в методе main только выводится результат на консоль, на основе этого кода: #include "stdafx.h" #include <stdio.h> #include <iostream> #include <string> #include <stdlib.h> #include <iomanip> using namespace std;
C++ ф-ция Написать программу, проверяющую делимость целого числа на числа от 2 до 10. Проверка делимости на конкретное число должна быть реализована в виде отдельной функции.Программа работает, но объясните, что значит в отдельной функции, не совсем понимаю #include "stdafx.h" #include <clocale> #include "iostream" using namespace std; bool div2(int n); http://www.cyberforum.ru/cpp-beginners/thread664746.html
Зависимость количества углов от радиуса круга C++
Мне нужно аппроксимировать круг многоугольником. Это не сложно. Однако задача встала так, что нужно, не задавая n (кол-во углов), вывести круг, чтобы он был гладким (на взгляд). Решение вида r*100 или как-то ещё использовать нельзя. Есть ли формула для вычисления нужного (для гладкости) кол-ва углов в многограннике от радиуса описанной окружности? Добавлено через 2 часа 33 минуты up-to-date?...
C++ Увеличение изображения в 2 раза и поочерёдное сохранение в видео
Есть программа Ultra fractal 5.04. Я создаю анимацию по увеличению Множества Мандельброта. Но она вычисляет анимацию покадрово, что и даёт кардинальное замедление процесса. Я разработал метод двоичного увеличения: Я сохраняю изображения в двойном качестве(3840х2160 - двойное full HD), увеличиваю вычисленное изображение в центр в 2 раза, потом повторяю этот процесс со всеми остальными...
C++ двойной интеграл в С++ http://www.cyberforum.ru/cpp-beginners/thread664729.html
∫∫exp-r3*cos(ψ)*r*dr*dψ межи (0,1) и (0,π*2)
C++ Найти произведение чисел, делящихся нацело на 3 и не делящихся нацело на 5 Помогите пожалуйста Ввести 2 числа если оба числа делятся нацело на 3. Найти их сумы если оба числа делятся на 5 вывести произведения (переумножить). подробнее

Показать сообщение отдельно
Eugen-S
 Аватар для Eugen-S
8 / 8 / 0
Регистрация: 06.11.2011
Сообщений: 122
06.10.2012, 17:27     Приоритетная очередь и конструктор копии
День добрый, форумчане!
Прошу просвятить в таком вопрос:
-имеется класс, и в мейне пытаюсь запихнуть объекты этого класса в очередь с приоритетом, появляется такая ошибка:

Error 1 error C2558: class 'student' : no copy constructor available or copy constructor is declared 'explicit'

Конструктор копии вроде как написан, не могу понять в чем проблема. Вот, прошу помочь с этим, и дать ответ на такой вопрос: когда добавляю "const" в конструктор копирования, перестает работать вообще, куча ошибок.. почему конст так влияет и как правильно ? не могу понять)

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
class student
{
    char name[50];
    float mark;
    char group [10];
 
public:
    student()
    {
        strcpy_s(this->name," ");
        mark = 0;
        strcpy_s(this->group," ");
    };
 
    student(const char* n,float m,const char* g)
    {
        strcpy_s(this->name,n);
        this->mark=m;
        strcpy_s(this->group,g);    
    };
    
    student(student & copy)
    {   
        strcpy_s(this->name,copy.getname());
        this->mark=copy.getmark();
        strcpy_s(this->group,copy.getgroup());
    };
 
    char * getname()
    {
        return this->name;
    };
 
    float getmark()
    {
        return this->mark;
    };
 
    char * getgroup()
    {
        return this->group;
    };
 
    bool operator > (student & r)
    {
        if(this->getmark()>r.getmark())
            return 1;
        return 0;
    };
};
и мейн

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int _tmain(int argc, _TCHAR* argv[])
{
    priority_queue <student> arr;
 
    student a("a",1,"b"),b("b",1,"b");
 
    arr.push(a);
    arr.push(b);
    
    cout<<arr.top().getname();
    arr.pop();
    cout<<arr.top().getname();
    arr.pop();
 
    return 0;
}
если ставлю

student(CONST student & copy), появляется куча ошибок, почему?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru