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

friend function - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массивы подсчёт max и min от rand http://www.cyberforum.ru/cpp-beginners/thread653734.html
До меня никак не доходит всё что ниже строчки min_value = list(зачем присваем именно первый элемент массива, зачем делаем вот это:if(min_value > list) min_value = list; ); Объясните мне пожалуйста #include <iostream> #include <cstdlib> using namespace std; int main() { setlocale(LC_ALL,"Russian"); int i, min_value, max_value;
C++ If else statement (continue) Простите - не пойму как форматировать код, копируемый с (С++). Всё исправлено - досихпор какие - то ошибки у меня Выдаёт - The weight class is 2293564 and fee $ 0.00 Please Help!!! #include <iostream> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread653731.html
If else statement C++
Стоит задача пл году машины и весу присвоить весовой номер и стоимость (таксы). #include <iostream> using namespace std; int main( ) { int year, weight, weight_class; double fee;
Программа, которая по числовому значению оценки выставляет Grade (A, B, C, D или F) C++
Привет всем. Написаня программа, кот должна по числовому значению оценки выставлять -Grade (A, B, C, D или F). считает правильно только для первых 2-х остальным присваивает только B. #include <iostream> using namespace std;
C++ Верхняя и нижняя граница типов http://www.cyberforum.ru/cpp-beginners/thread653690.html
Здравствуйте, подскажите пожалуйста есть ли в С++ функции подобные low и high из Pascal, чтобы узнать верхние и нижние значение типа. ( // INT_MAX и INT_MIN. не подходит, мне нужны именно функции) begin writeln(low(integer),' ',high(integer)); writeln(low(boolean),' ',high(boolean)); writeln(low(longint),' ',high(longint)); end. result:
C++ [Указатели]Использование операции получения адреса операнда Здравствуйте! Объясните пожалуйста, почему в пером случае, когда присваиваем указателю p_test адрес переменной test, использование оператора & обязательно, а во втором примере, он не используется. Есть ли у операции получения адреса операнда более короткое название? Спасибо. #include <iostream> using namespace std; int main() { подробнее

Показать сообщение отдельно
thedriveee
3 / 3 / 1
Регистрация: 16.09.2012
Сообщений: 107
18.09.2012, 09:37     friend function
Помогите плз разобраться:
Когда я делаю инкремент "х" через закрытые функции класса - все работает нормально, а когда через функцию-друга, то он просто не увеличивает. =(

header-file
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
#ifndef TRAIN
#define TRAIN
#include <iostream>
#include <cstring>
 
 
using namespace std;
 
class str {
private:
    int x;
public:
    str (int newX);
    void incrementX (int dx);
    friend int getX (str s);
    friend void incrementX (str s, int dx);
};
 
str::str (int newX) {
    x = newX;
}
 
int getX (str s) {
    return s.x;
}
 
void str::incrementX (int dx) {
    x += dx;
}
 
void incrementX (str s, int dx) {
    s.x += dx;
}
 
#endif


cpp-file

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cstring>
#include "train.h"
 
using namespace std;
 
int main () {
 
    str s(12);
    s.incrementX(1);
    cout << getX(s) << endl; // выводит 13
 
    incrementX (s, 1);
    cout << getX(s) << endl;// тоже почему-то выводит 13
 
    system ("pause");
}

Заранее всем добрым людям спс!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru