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

передача строк функции или классу - C++

Восстановить пароль Регистрация
 
nn23
0 / 0 / 0
Регистрация: 24.02.2011
Сообщений: 5
13.03.2011, 23:53     передача строк функции или классу #1
Возник вопрос, как правильно передавать строки классу. Допустим, имеется строка, класс и функция класса, чтобы эту строку туда запихнуть.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
...
class AA{
private: 
char str[20]; //правильно ли объявлено?
public:
void push(char *in){  // и тут правильно ли?
str=in;
}
int main(){
...
char *str; //если тут указатели на строку
str="hello world";
AA a;
a.push(str);
...
}
при таком объявлении не компилируется. Но не могу понять, как объявлять переменные, чтобы не вылезали ошибки?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Subgrando
40 / 40 / 3
Регистрация: 28.01.2011
Сообщений: 175
14.03.2011, 00:00     передача строк функции или классу #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class AA {
    private:
    char str[20];
    public:
    void push(char* in) {
        strcpy(str, in); // strcpy для копирования строк
    }
}
 
int main() {
    char* str = "hello world";
    AA a;
    a.push(str);
}
Попробуй это.
LaГushan
123 / 123 / 14
Регистрация: 12.03.2011
Сообщений: 227
14.03.2011, 00:09     передача строк функции или классу #3
Да можно наверное и через конструктор такие вещи передать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class AA {
    private:
       char str[20];
    public:
    AA(const char*in){
        strcpy(str,in);
        }
       ~AA(){};
};
 
int main() {
    const char* str = "hello world";
    AA a(str);
}
nn23
0 / 0 / 0
Регистрация: 24.02.2011
Сообщений: 5
14.03.2011, 00:11  [ТС]     передача строк функции или классу #4
Цитата Сообщение от Subgrando Посмотреть сообщение

Попробуй это.
блин, совсем забыл про фукнции копирования) благодарю за подсказку
Yandex
Объявления
14.03.2011, 00:11     передача строк функции или классу
Ответ Создать тему
Опции темы

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