Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Определить те простые числа, которые являются палиндромами https://www.cyberforum.ru/ cpp-beginners/ thread964719.html
Определить т простые числа, которые являются палиндромами (одинаково записываются как слева направо, так и справа налево). только программку не с cout,a c printf и с комментариями)
Нужен-ли assembler C++ программисту? C++
Вчера с друзьями спорили, нужен-ли assembler современному программисту (не микроконтроллеров и т.п). Вот я пишу на С++, асемблер не учил и спокойно работаю без него. И когда я работаю с памятью, то знаю, что память выделяется где-то в куче, либо в стеке. По идее мне больше и не нужно знать. Друзья говорят, что асемблер нужен для понимания, но вот для понимания чего, так никто толком не сказал
C++ Вывести на экран числа в виде следующей таблицы: https://www.cyberforum.ru/ cpp-beginners/ thread964679.html
Вывести на экран числа в виде следующей таблицы: 2 2 2 2 2 3 4 5 6 7 2 2 2 2 2 3 4 5 2 2 2 1 2 3 2 2 0 1 2
C++ Распечатать все палиндромы с++ https://www.cyberforum.ru/ cpp-beginners/ thread964677.html
Задана строка из символов Строка из не более чем 255 символов. Использовать для ввода стркоки ф-ию Gets(s), затем распечатать палиндромы их этой строки(читается одинаково слева направо и справа налево).
C++ Вычисление определителей матрицы и ее ранга
разработка программы вычисления определителей матрицы и ее ранга
C++ операторы if и else C++ Здравствуйте! в данный момент изучаю операторы ИФ и ЭЛС в С++ сам придумал программу, сам написал и сам наделал ошибок! ))) помогите разобраться! почему программа не работает? #include <iostream.h> #include <stdio.h> using namespace std; int main() { string YourName; https://www.cyberforum.ru/ cpp-beginners/ thread964674.html
C++ Математические функции С++ https://www.cyberforum.ru/ cpp-beginners/ thread964673.html
Здравствуйте! Я только начал изучать С++ и вот уже возникла 1яа непонятка! переписал код с книги, но у меня почему то он не работает! в чём ошибка? ПОМОГИТЕ разобраться, пожалуйста! программа вычисляет коссинус, тангенс,..... из заданного числа #include <iostream.h> #include <stdio.h> #include <math.h> int main() { double anyNumber; cout << "Enter a number: ";
несовместимость циклов в коде C++
Вот код программы: #include <iostream> #include <time.h> #include <math.h> #include <stdlib.h> #include <Windows.h> using namespace std; int n; int t;
C++ как избавиться от присваивания процессорного времени переменной при работе циклов? https://www.cyberforum.ru/ cpp-beginners/ thread964669.html
#include <iostream> #include <time.h> #include <math.h> #include <stdlib.h> #include <Windows.h> using namespace std; int n; int t; int T; int s;
C++ Создайте массив из пяти фамилий и выведите их на экран столбиком, начиная с последней https://www.cyberforum.ru/ cpp-beginners/ thread964657.html
Создайте массив из пяти фамилий и выведите их на экран столбиком, начиная с последней
C++ Дано натуральное n. Вычислить: 1/11 + 1/22 + . + 1/n n
Дано натуральное n. Вычислить: 1/11 + 1/22 + ... + 1/n n.
C++ Ввести с клавиатуры 10 чисел. Если среди них есть числа, большие 15, заменить их на 15. Напечатать все полученные числа Ввести с клавиатуры 10 чисел. Если среди них есть числа, большие 15, заменить их на 15. Напечатать все полученные числа. https://www.cyberforum.ru/ cpp-beginners/ thread964654.html
0 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 10
29.09.2013, 11:46  [ТС] 0

Ребят, уже запарился, гляньте, что не так!? конструктор копирования и оператор присваивания - C++ - Ответ 5113559

29.09.2013, 11:46. Показов 1012. Ответов 7
Метки (Все метки)

Ответ

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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#include <iostream>
using namespace std;
 
 
struct SNode {
      SNode*next;
      int val;
      SNode(){ next = NULL; val = 0;};
      SNode(SNode* ne,int a){val=a; next=ne;}
     
};
 
 
class SList
 {
  SNode* head;
  SNode* tail;
    public:
    SList();
    SList(int);
    SList(const SList&); //конструктор копирования
    ~SList();
 
    bool is_empty();
    void add_front(int);
    int remove_front();
    bool find(int);
    int get_nth(int);
    int size();
    void print_slist();
 
  SList& operator=(const SList&); //оператор присваивания
};
SList::SList(){
    head=new SNode();
    tail=head;
}
SList::SList(int a){
    tail=new SNode();
    head=new SNode(tail,a);
}
//+++++++++++++++++++++++++++++
  SList::SList(const SList& t) {
  
while(t.head!=t.tail)
    {
                    //head=t.head;
                //head=head->next;
                head=new SNode(head,t.head->val);
        }
   tail = t.tail;
 
   }
 //++++++++++++++++++++++++++++++
bool SList::is_empty(){
    return (head==tail)?true:false;
}
void SList::add_front(int a){
    SNode *q=head;
    head=new SNode(q,a);
}
int SList::remove_front(){
    SNode* q=head;
    head=head->next;
    int a=q->val;
    delete q;
    return a;
}
bool SList::find(int a){
    SNode* q=head;
    while(q!=tail)
    {
        if(q->val==a)
            return true;
        else
            q=q->next;
    }
    return false;
}
int SList::get_nth(int a){
    SNode* q=this->head;
    for(int i=0;i<a;i++)
        q=q->next;
    return q->val;
}
int SList::size(){
    SNode *q=head;
    int k=0;
    for(;q!=tail;q=q->next,k++)
        ;
    return k;
}
void SList::print_slist()
{
    int size=this->size();
    for(int i=0;i<size;i++)
    {
        cout<<this->get_nth(i)<<' ';
    }
    cout<<endl;
}
SList::~SList(){
        while(head!=tail)
    {
        SNode* p=head;
        head=head->next;
        delete p;
    }
    delete tail;
}
//*************************************
SList& SList::operator=(const SList& t)  {
        // защита от неправильного самоприсваивания
    if (this == & t) return *this;
    else{
        // освобождаем старую память
    while(head!=tail)
    {
        SNode* p=head;
        head=head->next;
        delete p;
    }
    delete tail;
 
    // присваиваем значения в новой памяти объекту
while(t.head!=t.tail)
    {
                    head=t.head;
                //head=head->next;
                head=new SNode(head,t.head->val);
        }
   tail = t.tail;
  return *this; }
   }
//***************************************************
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    SList L1;
L1.add_front(5);
L1.add_front(9);
L1.add_front(34);
    SList L2;
L2.add_front(25);
L1.print_slist();
L2.print_slist();
 
cout<<"posle = "<<endl;
    L1=L2; // вот тут проблемно
 
L1.print_slist();
L2.print_slist();
 
 
system("pause");
    return 0;
}


Вернуться к обсуждению:
Ребят, уже запарился, гляньте, что не так!? конструктор копирования и оператор присваивания C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2013, 11:46
Готовые ответы и решения:

Конструктор копирования и оператор присваивания
Не понимаю, когда используется один, а когда другой. Написал простой пример с комплексными числами...

Конструктор копирования и оператор присваивания
Есть класс (синтетический, создан для примера) class Object { private: int a; float...

Оператор присваивания через конструктор копирования
Возник такой вопрос. Как перегрузить оператор присваивания для класса через конструктор...

Про конструктор копирования, оператор присваивания
Объясните, пожалуйста, принцип действия конструктора копирования и операции присваивания. На что...

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

Очередь, конструктор копирования и перегруженный оператор присваивания
#include &lt;iostream&gt; using namespace std; typedef char type; struct Node { type element;...

Конструктор копирования и оператор присваивания - общая часть, выделять ли в отдельный метод
Как лучше? // конструктор копирования Fraction::Fraction( const Fraction&amp; rhs ) { //...

Нужно ли реализовать также отдельно конструктор копирования, если имеется перегруженный оператор присваивания?
у меня есть класс. и прототип перегруженной операции присваивания some_class&amp;...

Ребят! Гляньте код не могу понять что с ним не так
у меня есть функция, в случае ошибки она должна возвращать эту ошибку. Но ошибка возвращается...

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