Всем доброго времени суток!
Выпала мне задачка:
*********
Запрограммировать и проверить следующую структуру:
Структура "String" (строка). Функции-члены: String(), GetLength(),
Reverse().
*********
Собственно вот. Изобразил такой вот код:
—————————————————————–
#include "stdafx.h"
#include <iostream.h>
using namespace std;
#include <string.h>
struct String{
String(char str)
{
}
int GetLenght (char str[])
{
<выдает длину слова>
}
char Inverse (char str[50])
{
<отражает строчку>
}
};
void main (void)
{
char word[50] = "denis";
int lenght = 0;
}
—————————————————————–
Ну и вот… Возник вопрос: правильно ли я написал и как этим пользоваться? Ну и конечно же:
1) Что за член-функция String (первая)? Для чего она нужна и что в ней прописать?
2) Как мне ими воспользоваться? При объявлении String Structure; – жалуется на отсутствие конструктора. Я не знаю как его прописать.
Собственно, вот.
Пару ссылок нагуглил, но функциям в структуре не нашел ничего.
Так что, ЗАРАНЕЕ СПАСИБО.
14 мая 2009 в 8:00
насколько я понимаю, это ограничение административного характера, вызванное требованиями к стилю – на практике struct и class взаимозаменяемы: в Си++ struct отличается от class тем, что struct имеет по умолчанию модификатор public, а class – private. все остальное одинаково.
13 мая 2009 в 23:05
Спасибо, видимо, так и придется.
Но если кто-нибудь что-нибудь знает о функциях внутри структуры – Велкам!
13 мая 2009 в 23:05
Тоже самое будет, но так делать не надо.
13 мая 2009 в 23:04
// Максимум так
struct foo {
foo(int ia, int ib) : a(ia), b(ib) {}
int a;
int b;
};
> Пару ссылок нагуглил, но функциям в структуре не нашел ничего.
Потому что в С++ это называется класс.
class CString{
//Ваша строка.
private char *str;
// Конструктор по умолчанию
CString()
{
}
// Деструктор
~CString()
{
//тут чистим память
}
CString(char &strInput)
{
// тут выделяем память под строку и заполняем локальный str
}
int GetLenght ()
{
//<выдает длину слова>
}
char Inverse ()
{
//<отражает строчку>
}
};
void main (void)
{
// Тут мы пользуемся классом
}
13 мая 2009 в 23:03
Насколько я понимаю, нужно, чтобы из main можно было вызывать функции-члены.
в моём представлении это
char word[] = "denis";
int i;
i = Struct.GetLenght(word);
как то вот так…
13 мая 2009 в 23:00
а вы чего хотите получить?
13 мая 2009 в 22:04
Член без функций это плохо, ога.