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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Sergey_O
 Аватар для Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
#1

Передать строку через функцию. - C++

09.05.2010, 11:55. Просмотров 1225. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
#pragma once
class User
{
private:
    char *Surname;
public:
    User(void);
    char SurnameReturn();
}
C++
1
2
3
4
5
6
7
8
9
#include "User.h"
 
User::User(void)
{
}
 
char User::SurnameReturn(){
    return *Surname;
}
Проблема в том, что возвращается только 1 символ,а не вся строка. Как это лучше всего избежать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2010, 11:55     Передать строку через функцию.
Посмотрите здесь:

Как передать в функцию строку и инициализировать ею структуру? C++
Написать функцию, которая формирует строку, состоящую только из цифр, входящих в исходную строку C++
C++ Как передать строку в функцию?
Необходимо передать аргумент виртуальной машине через командную строку C++
Как передать функцию в функцию? C++
Как передать адрес объекта через функцию C++
Написать функцию которая копирует строку S1 в строку S2 N раз, без использования Strcopy C++
Не могу передать функцию в функцию C++
Можно ли передать в функцию две переменных через 1 какую-нибудь конструкцию? C++
В функцию с переменным числом параметроы передать указатели на функцию C++
C++ Напишите функцию, которая определяет, можно ли из символов, входящих в строку А, составить строку В
Как передать заданную строку матрицы в функцию? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1455 / 822 / 68
Регистрация: 26.03.2010
Сообщений: 2,810
09.05.2010, 11:58     Передать строку через функцию. #2
Возможно я не прав, но Surname у вас объявлена как char, то есть символ, вот он и передает его.
Sergey_O
 Аватар для Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
09.05.2010, 13:05  [ТС]     Передать строку через функцию. #3
Цитата Сообщение от neske Посмотреть сообщение
Возможно я не прав, но Surname у вас объявлена как char, то есть символ, вот он и передает его.
это динамический массив символов, внутри класса он выводит полную строку, а вот передаёт только 1 символ.

Добавлено через 1 час 0 минут
есть мысли у кого?
Genius Ignat
1234 / 772 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.05.2010, 13:17     Передать строку через функцию. #4
C++
1
2
3
char* User::SurnameReturn(){
        return Surname;       //возвращаем адрес на начало строкового буфера.
}
Пример использования:
C++
1
2
3
4
5
6
int main(){
User obj;
char * ptr = obj.SurnameReturn();
//указатель ptr теперь можно использовать для работы со всей строкой.
return 0;
}
Sergey_O
 Аватар для Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
09.05.2010, 18:56  [ТС]     Передать строку через функцию. #5
Спасибо, работает.
Genius Ignat
1234 / 772 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
09.05.2010, 18:59     Передать строку через функцию. #6
Лучше уж тогда определить оператор преоразования к char *.
Yandex
Объявления
09.05.2010, 18:59     Передать строку через функцию.
Ответ Создать тему
Опции темы

Текущее время: 16:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru