Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Static и классы с++ 
:(
    Опции темы
Forxi358
Дата 10.3.2016, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 10.2.2016

Репутация: нет
Всего: нет



помогите пожалуйста
у меня такое задание 
1. На основе класса, созданного в работе №1, разработать класс, содержащий дополнительно к имеющимся полей и функций:
- Поле, имеет такой же тип, как массив в таблице 1;
- Статическое поле такого же типа;
- Статическое функцию, которая возвращает по ссылке значение статического поля.
2. Изменить созданную в работе №1 функцию выделения памяти для массива так, чтобы в ней, кроме имеющихся действий, происходило увеличение на единицу значение статического поля.
3. Определить указатель на поля класса (для любого типа полей) и указатель на функции класса, имеют тип значения void и пустой список аргументов.
Код

#include <iostream>
using namespace std;
class Sop
{
private:
short int kol;
short int kol2;
char *arr;
char *arr2;
static char *arr3;
static short int kol3;
public:
void pol();
void vvod();
void vivod();
static int meth();
};
short int& Sop::meth()
{
    return kol3;
}
void Sop::pol()
{
cout<<"Vvedite razmer massiva: ";
cin>>kol;
arr = new char[kol];
arr2 = new char[kol2];
arr3 = new char[kol3++];
return;
}

void Sop::vvod()
{
cout<<"Vvedite dannie: \n";
for(int i = 0; i < kol; i++)
{
  cout <<"A["<<i+1<<"] = ";
  cin >> arr[i];
}
}
void Sop::vivod()
{       
cout << "Massiv: \n";
for(int i = 0; i < kol; i++)   
  cout <<"A["<<i+1<<"] = "<<arr[i]<<";\n";
}
int main()
{
Sop a;
  a.pol();
  a.vvod();
   void (Sop::*fp)();
   fp = &Sop::vvod;
   
   (a.*fp)();
   a.meth();
   
  
 
return 0;
}


выдает ошибку на 16 и 18 строке((((((
подскажите как можно исправить(
PM MAIL   Вверх
Forxi358
Дата 10.3.2016, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 10.2.2016

Репутация: нет
Всего: нет



 smile помогите пожалуйста  smile

Это сообщение отредактировал(а) Forxi358 - 10.3.2016, 20:38
PM MAIL   Вверх
feodorv
Дата 10.3.2016, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



Цитата(Forxi358 @  10.3.2016,  20:16 Найти цитируемый пост)
Статическое функцию, которая возвращает по ссылке значение статического поля

Возвращать по ссылке, вроде, это так:
Код

class Sop
{
private:
  ...
  static short int kol3;
public:
  ...
  static void meth( short int &v );
};

short int Sop::kol3 = 0;

void Sop::meth( short int &v )
{
  v = kol3;
}


Это сообщение отредактировал(а) feodorv - 10.3.2016, 22:24


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
math64
Дата 11.3.2016, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 12
Всего: 72



Если я правильно понял задание, то так:
Код

class Soap {
private:
...
static short int kol3;
public:
...
static short int& meth() { return kol3; }
};

short int Soap::kol3 = 0;

PM   Вверх
xvr
Дата 11.3.2016, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(Forxi358 @  10.3.2016,  20:16 Найти цитируемый пост)
выдает ошибку на 16 и 18 строке

У вас в описании и реализации разные типы возвращаемого значения:
Код

int meth();
short int& meth();
а должны быть одинаковые  smile 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1185 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.