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

Не могу понять почему - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора http://www.cyberforum.ru/cpp-beginners/thread896595.html
Ребята, помогите пожалуйста решить. Я в этом деле новичок, и сам никак не справлюсь. 3. Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от Хнач до Хкон с шагом dx с точностью ε. Таблицу снабдить заголовком и шапкой. Каждоя строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.
C++ Описать структуру с именем STUDENT Ребята, помогите пожалуйста решить. Я в этом деле новичок, и сам никак не справлюсь. 2. Описать структуру с именем STUDENT, содержащую следующие поля: фамилия и инициалы; номер группы; успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия: ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по... http://www.cyberforum.ru/cpp-beginners/thread896594.html
C++ синтаксическая ошибка
#include <iostream> #include <stdio.h> #include <io.h> #include <ctime> using namespace std; #define MEN 2 #define ORIGINAL_MAZE 0 #define MAZE_WITH_PATH 1
Вычислить множество значений функции y C++
Вычислить множество значений функции y=a*a*x+b*x/x+1 на отрезке с шагом 0,1 где a=0,3 b=0,9 (если получится, можно что-нибудь простенькое)
C++ Список (найти ошибку в коде) http://www.cyberforum.ru/cpp-beginners/thread896572.html
Почему компилируется программа? Вот эта функция: List::node* seach(T el) { for(node* p = head->next; p != NULL; p = p->next) if(p->item == el) return p; return NULL; } #include <iostream>
C++ Как открыть и записать файл частино Допустим у феня есть файл весом 10 гиг как прочитать ефективно только часть его (скажем от сотого байта по двохсотый) у переменную памяти как также переписать обратно инфу на етом файле из переменной и как вставить новую информацию с роздвигом файла а не изменой какие есть функции для етого и в каких библиотеках подробнее

Показать сообщение отдельно
Borkot
 Аватар для Borkot
4 / 4 / 0
Регистрация: 05.05.2012
Сообщений: 182
Записей в блоге: 1
09.06.2013, 20:42     Не могу понять почему
Есть кода программы(код взят разобраться):
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
#include<iostream>
using namespace std;
class coord {
protected:
public:
    int x,y;
    //значения координат
    coord (){x=0;y=0;}
    coord (int i,int j){x=i ;y=j;}
    void get_xy(int &i,int &j){i=x;j=y;}
    coord operator +(coord ob2) ;
    coord operator-(coord ob2) ;
    coord operator=(coord ob2);
};
//Перегрузка оператора + для класса coord
coord coord::operator+ (coord ob2)
{
    coord temp;
    cout<<"Использование функции operator +()\n" ;
    temp.x= x+ob2.x;
    temp.y=y+ob2.y;
    return temp;
}
//Перегрузка оператора - относительно класса coord
coord coord::operator-(coord ob2)
{
    coord temp;
    cout<<"Использование функции operator -()\n";
    temp.x=x-ob2.x;
    temp.y=-ob2.y;
    return temp;
}
//Перегрузка оператора = относительно класса coord
coord coord::operator=(coord ob2)
{
    cout<<"Использование функции operator=()\n" ;
    x=ob2.x;
    y=ob2.y;
    return *this;//возвращение присваиваемого объекта
}
class quad:public coord{
    int quadrant;
public:
    quad(){x=0;y=0;quadrant=0;}
    quad(int x,int y): coord(x,y)
    {
        if(x>=0&&y>=0)quadrant=1;
        else if(x<0&&y>=0)quadrant=2;
        else if(x< 0&&y<0)quadrant=3;
        else quadrant=4;
    }
    void showq()
    {
        cout<<"Точка в квадранте: "<<quadrant<<'\n' ;
    }
    quad operator=(coord ob2);
};
quad quad::operator=(coord ob2)
{
    cout<<"Использование функции operator =()\n";
    x=ob2.x;
    y=ob2.y;
    if(x>=0&&y>=0)quadrant=1;
    else if(x< 0&&y>=0)quadrant=2;
    else if(x< 0&& y<0)quadrant=3;
    else quadrant=4;
    return *this;
}
int main()
{
    setlocale(LC_ALL,"RUS");
    quad o1(10,10),o2(15,3) ,o3;
    int x, y;
    o3=o1+o2 ;//сложение двух объектов
    //вызов функции operator -f()
    o3.get_xy(x,y);
    o3.showq() ;
    cout<<"(o1+o2 )X:"<<x<<" ,Y:"<<y<<"\n" ;
    o3=o1-o2;//вычитание двух объектов
    o3.get_xy(x,y) ;
    o3.showq() ;
    cout<<"(o1-о2) X:"<<x<<",Y:"<<y<<"\n" ;
    o3=o1;//присваиваниеобъектов
    o3.get_xy(x,y);
    o3.showq();
    cout<<"(оЗ=ol)X:"<<x<<",Y:"<<y<<"\n" ;
    
    return 0;
}
Не пойму Почему при
C++
1
o3=o1;
вызывается именно
C++
1
2
3
4
5
6
7
coord coord::operator=(coord ob2)
{
    cout<<"Использование функции operator=()\n" ;
    x=ob2.x;
    y=ob2.y;
    return *this;//возвращение присваиваемого объекта
}
а не
C++
1
2
3
4
5
6
7
8
9
10
11
quad quad::operator=(coord ob2)
{
    cout<<"Использование функции operator =()\n";
    x=ob2.x;
    y=ob2.y;
    if(x>=0&&y>=0)quadrant=1;
    else if(x< 0&&y>=0)quadrant=2;
    else if(x< 0&& y<0)quadrant=3;
    else quadrant=4;
    return *this;
}
Код взят из Самоучитель С++(герберд Шилдт)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru