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

Возвращение по ссылке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать функцию без параметров, возвращающую при каждом вызове следующее простое число http://www.cyberforum.ru/cpp-beginners/thread745058.html
Написать функцию без параметров, возвращающую при каждом вызове следующее простое число (первый вызов возвращает 2, следующий – 3, третий – 5, и т. д.). Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема. Правила форума
C++ Написать функцию, вычисляющую число последовательностей из нулей и единиц длины n, не содержащих двух единиц подряд 1)Написать функцию, вычисляющую число последовательностей из нулей и единиц длины n, не содержащих двух единиц подряд (обозначим это число p(n)). Используйте рекурсию, то есть подумайте, как вычислить число p(n), если бы вы знали, чему равны p(n-1), p(n-2), … p(1). Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.... http://www.cyberforum.ru/cpp-beginners/thread745056.html
C++ Напишите функцию Swap(a, b), аргументами которой могут быть числа любого типа
Напишите функцию Swap(a, b), аргументами которой могут быть числа любого типа. Функция меняет значения своих аргументов и не возвращает никакого значения. В функции main() проверьте правильность работы функция Swap. Измените программу таким образом, чтобы при сборке программы в конфигурации Debug вызывалась определенная вами функция Swap, а для конфигурации Release –...
Класс для прямоугольника C++
Доброго времени суток По заданию нужно написать класс для прямоугольников. Написал всё кроме 1го метода перегрузки оператора. Метод должен получить наименьший прямоугольник, содержащий два заданных прямоугольника. Вот что уменя получилось Класс: class Rect { private: int x1, y1, dx, dy; // x1, y1 - координаты левого верхнего угла, dx и dy длина и ширина
C++ Нужно чтобы функция в зависимости от условий возвращала string или double http://www.cyberforum.ru/cpp-beginners/thread745031.html
Привет, как можно реализовать? Нужно чтобы функция в зависимости от условий возвращала string или double
C++ расчет по формуле не понимаю как на с++ записать выражение sin2beta и cos2beta вот задача: подробнее

Показать сообщение отдельно
fuzzytoozy
8 / 8 / 1
Регистрация: 23.11.2012
Сообщений: 94

Возвращение по ссылке - C++

25.12.2012, 05:11. Просмотров 342. Ответов 3
Метки (Все метки)

Здравствуйте! Суть проблемы следующая. Необходимо, чтобы методы класса Pstring2 возвращали значения по ссылке, с возможностью размещения вызова функции слева от знака равно в операциях со сроками. Всем по плюсику и печеньку!В суть кода можно не вникать, он работает. Меня интересуют только возвращаемые методами класса Pstring2 значения. Нужно их преобразовать так, чтобы можно было их использовать в операциях присвоения слева от знака '='. То есть s2.right ( s1, 5 ) = xstr; где xstr - массив char. Вот код:

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
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
/////////////////////////////////////////////
class String
{
 protected:
  enum { SZ = 80 };
  char str [ SZ ];
 public:
  String (  )
   { str [ 0 ] = '\x0'; }
  String ( char s[ ] )
  { strcpy ( str, s ); }
 
  void display ( ) const
  { cout << str << endl; }
 
  operator char*( )
  { return str; }
};
 
class Pstring : public String
{
 public:
  Pstring ( )
  { str [ 0 ] = '\x0'; }
  Pstring ( char s[ ] )
  {
   int len = strlen ( s );
   if ( len >= SZ - 1 )
   strncpy ( str, s, SZ - 1 );
   if ( len < SZ )
   {
   strncpy ( str, s , len );
   str[ len ] = '\x0';
  }
 }
};
class Pstring2 : public Pstring
{
 public:
  Pstring2 ( ) : Pstring ( )
  { }
  Pstring2 ( char s[ ] ) : Pstring ( s )
  { }
 
  char* left ( Pstring2 s1, int n )
  {
   for ( int j = 0; j <= n; j++ )
    str[ j ] = s1.str [ j ];
 
 
    str [ n ] = '\x0';
 
   return str;
  }
 
 
  char* mid ( Pstring2 s1, int s, int n )
  {
   int t = 0;
   for ( int j = s; j <= ( s + n ); j++ )
   {
    str [ t ] = s1.str[ j ];
    ++t;
   }
   str [ n ] = '\x0';
   return str;
  }
 
  char* right ( Pstring2 s1, int n )
  {
   int t = 0;
   int len = strlen ( s1.str ) - n;
   for ( int j = 0; j <= n; j++ )
   {
    str [ t ] = s1.str [ len ];
    ++len;
    ++t;
   }
    str [ n ] = '\x0';
   return str;
  }
 
};
 
//////////////////////////////////////////////
int main( )
{
 char xstr[ ] = " i'm holding on your rope got me ten feets of the ground ";
 Pstring2 s1 = xstr;
 Pstring2 s2;
 s2.right(s1 , 7 );
 s2.display();
 system ("PAUSE");
 return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru