IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Проблемы с ООП в С++., Microsoft Visual C++ .Net
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 30
Пол: Мужской
Реальное имя: Никита

Репутация: -  0  +


 

#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <conio>

class Tags
{
protected:
char nik[10];
int tel;
public:
Tags(char*,int);
void virtual show();

// здесь надо написать еще один метод для создания объектов класса Tags и размещения их в массиве

int getphone()
{
return tel;
}
};

class XTags:public Tags
{
int telr;
public:
XTags(char*,int,int);
void show();
// тут тоже нужен, вроде, метод
int getphone()
{
return tel;
}
};

Tags::Tags(char* nnik,int ntel)
{
strcpy(nik,nnik);
tel=ntel;
}

XTags::XTags(char* nnik,int ntel,int ntelr):Tags(nnik,ntel)
{
telr=ntelr;
}

void Tags::show()
{
cout<<nik<<" "<<tel<<" ";
}

void XTags::show()
{
Tags::show();
cout<<telr;
}


void main()
{

}




Используются классы Tags(кличка животного и номер владельца) и XTags(Tags + телефон отдела регистрации). Используются три метода - show(это вывод информации на экран содержащейся в массиве), getphone(средство нахождения номера телефона владельца по кличке животного) и еще один метод которого у меня нет - создание объектов класса Tags и размещения их в массиве. Последнее как раз мне и нужно.

Сообщение отредактировано: Bo2nik -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
я правильно делаю, исходя из условия задачи?
Я бы делал немного по-другому... В частности, вместо С-шных функций типа fscanf использовал бы потоки (это гораздо удобнее), определил бы функцию makeTags (не метод, а именно функцию, которая будет читать данные из входного потока, инициализировать и добавлять указатели в vector<Tags*> - это вместо массива), функцию showTags - печатающую вектор, и функцию checkTags, осуществляющую в нем поиск... С учетом использования vector-а последние 2 функции вырождаются каждая в одну строку...

Насколько я вижу, это не очень конфликтует с заданием, разве что
1)
Цитата
Оба класса могут быть сохранены в массиве Mas как объекты класса Tags.
не выполняется, храниться будут (да и у тебя сейчас хранятся) указатели на Tags
2)
Цитата
В программе для создания объктов используются классы Tags и XTags. makeTags - создание объектов Tags и размещение их в массиве. showTags - выводит на экран информацию, содержащуюся в массивк, а метод checkTags является стредством нахождения номер телефона владельца по кличке животного.
выделенное слово немного выбивается из того, что я написал выше...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 30
Пол: Мужской
Реальное имя: Никита

Репутация: -  0  +


Цитата

вместо С-шных функций типа fscanf использовал бы потоки (это гораздо удобнее)

Я с С++ знаком не очень, можно поподробнее про потоки.

Цитата

добавлять указатели в vector<Tags*> - это вместо массива

И вот это можно показать на примере.

P.S. Вопросы ламерские, но заранее спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.04.2024 14:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name