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

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

Войти
Регистрация
Восстановить пароль
 
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
#1

Передача указателя на строку методу класса - C++

26.07.2011, 14:21. Просмотров 658. Ответов 3
Метки нет (Все метки)

после того как я изменил содержание указателя name на Nika Gamkrelidze, name в объекте не изменилось. наверное потому что новое значение расположенно в другой части памети, да? а есть ещё способы передачи строк с помощю указателей?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
class info {
        char * name, * phone;
    public :
        void set_name(char * n) {name=n;}
        void set_phone(char * p) {phone=p;}
        void show(void) {std::cout<<name<<", "<<phone;}
};
int main()
{
    char * name = "Ben Affleck";
    char * phone = "38-83-33";
    info ben;
    ben.set_name(name);
    ben.set_phone(phone);
    name = "Nika Gamkrelidze";
    ben.show()
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2011, 14:21     Передача указателя на строку методу класса
Посмотрите здесь:

Передача указателя функции класса A в класс B - C++
Добрый день! Стоит задача вызывать функцию другого класса в потоке, ну что то типа этого: typedef void (t1::*PTR_FUN)(int);...

Передача указателя на функцию-член класса - C++
Необходимо передать фунцию-член класса как аргумент в функцию другого класса. Код: Файл main.cpp #include &quot;head.hpp&quot; int...

Передача указателя в класс на объект другого класса - C++
Не могу передать ссылку на объект класса в другой класс main.cpp #include &lt;iostream&gt; #include &quot;test\class_a.h&quot; #include...

Передача объекта методу другого объекта другого класса - C++
Всем привет. Есть у меня класс test1, который имеет конструкторы только с параметрами. Другой класс test2 имеет конструктор, который...

Вызов методов класса из двойного указателя на экземпляр класса - C++
Добрый день! Как можно вызвать метод класса по двойному указателя на его экземпляр? struct Point { void getPoint(){}; ...

передача указателя - C++
какой способ передачи указателя наиболее быстрый? int a = 1; int *b= &amp;a; wav.set_windows((int*) b); или int a = 1; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
26.07.2011, 14:27     Передача указателя на строку методу класса #2
nikkka, char* это вам не string => используйте strcpy()
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
26.07.2011, 14:35     Передача указателя на строку методу класса #3
Цитата Сообщение от nikkka Посмотреть сообщение
name = "Nika Gamkrelidze";
после этой строчки name указывает уже в другое место, но info::name продолжает указывать на старое.
главное понять что ты не изменяешь name, ты просто ставишь указатель в другое место
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2011, 14:41     Передача указателя на строку методу класса
Еще ссылки по теме:

Передача указателя - C++
Здравствуйте! Форумчане, очень нужна помощь..:cry: В общем ситуация такова: написана программа, нужно переделать её так, чтобы в...

Передача в функцию указателя - C++
Почему плохо передавать в функцию указатель на строку или массив и возвращать указатель на строку или массив?

Передача указателя в структуру - C++
Не получается передать указатель на память в структуру. Посылаю state.knob.phase, его инициализация выше Число формата float ...

Передача указателя в функцию - C++
Здравствуйте. Прошу помощи, сижу уже пару часов читаю мануалы, но так и не смог до конца понять, что мне делать. Есть вот такой код: ...

Передача указателя в функцию - C++
Поиском не пользовался, возможно данный вопрос уже проскакивал. Проблема том, что VS2010 на отрез отказывается передавать указатель на...

Передача указателя на функцию - C++
Доброго дня Форумчане. Хотелось бы узнать как вызывать функцию получив на нее указатель? пример class C1 { public: void...


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

Или воспользуйтесь поиском по форуму:
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,249
Записей в блоге: 1
Завершенные тесты: 1
26.07.2011, 14:41     Передача указателя на строку методу класса #4
В данном случае name является неконстантным указателем на константную облась памяти.
Вот так будет работать как задуманно:
C++
1
char name[] = "Ben Affleck";//лучше конечно зарезервировать некоторое кол-во байт
теперь name - константный указатель на неконстантную облась памяти.
Yandex
Объявления
26.07.2011, 14:41     Передача указателя на строку методу класса
Ответ Создать тему
Опции темы

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