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

Что-то леплю в прогу, переменные, функции. Не видит переменных - C++

Восстановить пароль Регистрация
 
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
19.10.2013, 16:27     Что-то леплю в прогу, переменные, функции. Не видит переменных #1
Подскажите, как лучше сделать, варианты, оштбки собствено..

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// Листинг 9.14.
 // Разрешение проблемы утечки памяти
#include <string> 
#include <iostream> // для объекта cout
using namespace std;
 
#include<iomanip>
//Этот файл содержит большую часть манипуляторов C++. Если вы не знаете, что такое манипулятор, не беспокойтесь. Просто подключите это файл смело и не раздумывая  вместе с iostream, хуже не станет.
#include<fstream> 
//Подключается при работе с файлами.
 
 class SimpleCat
 {
public:
SimpleCat (int age, int weight);
~SimpleCat();
int GetAge() { return itsAge; }
int GetWeight() { return itsWeight; }
SimpleCat  KonstructFunction();
private:
int itsAge;
int itsWeight;
int  konstruktor;  int  destruktor;
 };
 
 SimpleCat::SimpleCat(int age, int weight)
 {
itsAge = age;
itsWeight = weight;++konstruktor;
cout << "Konstruktor:  " << "   itsAge " << itsAge <<"    itsWeight " <<  itsWeight << "     konstruktor " <<  konstruktor << endl;
 }
 
SimpleCat::~SimpleCat()
 {
destruktor++;
cout << "Simple Cat Destructor...    "    << "     destruktor " <<  destruktor <<endl ;
 }
 
 SimpleCat & TheFunction(); 
 
 SimpleCat* TheFunction_MrGluck() ;
 
 SimpleCat  KonstructFunction() {  konstruktor=0;   destruktor=0;  cout << "KonstructFunction()...    "    << "     konstruktor " <<  konstruktor<< "     destruktor " <<  destruktor <<endl ; } 
 
 
 
 int main()
 {
SimpleCat Murtsic(5,6);
Murtsic.KonstructFunction();
SimpleCat Barsic(6,7);
SimpleCat & rCat = TheFunction();// Объявляем сылку rCat на то, что выдает TheFunction()  
int age = rCat.GetAge();
cout << "rCat " << age << " years old!\n";
cout << "&rCat: " << &rCat << endl;
// Как освободить эту память?
SimpleCat * pCat = &rCat;
delete pCat;
// Боже, на что же теперь ссылается rCat??
system("pause  ");
 SimpleCat* rCat_MrGluck = TheFunction_MrGluck();
 cout << "rCat_MrGluck: " << rCat_MrGluck << endl;
    delete rCat_MrGluck;
system("pause  ");return 0;
 }
 
 SimpleCat &TheFunction()  //функция возвращяет ссылку на SimpleCat.
 {
SimpleCat * pFrisky = new SimpleCat(5,9);//Если оператор new может успешно выделить требуемый объем памяти, он возвращает указатель на начало области выделенной памяти.
//указатель на SimpleCat и одновременно засылка данных в конструктор
cout << "pFrisky: " << pFrisky << endl;
return *pFrisky; // разименовываем указатель на SimpleCat
 }
 
 
SimpleCat* TheFunction_MrGluck() 
{
    SimpleCat * pFrisky_MrGluck = new SimpleCat(15,9);
    cout << "pFrisky_MrGluck: " << pFrisky_MrGluck << endl;
    return pFrisky_MrGluck; // не разыменовываем указатель на SimpleCat
 }
Обратите на строку 23, там обьявление переменных. Я же обьявил!
cpp(43): error C2065: konstruktor: необъявленный идентификатор
cpp(43): error C2065: destruktor: необъявленный идентификатор
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2013, 16:27     Что-то леплю в прогу, переменные, функции. Не видит переменных
Посмотрите здесь:

Переменные,значение функции,вспомогательные переменные. C++
C++ написать, прогу которая подсчитывает макс. и мин. значения переменных (int, shorting, longint, uint, char, uchar), ещё указать размер в байтах
написать прогу, которая подсчитывает макс. и мин. значения переменных (int, shorting, longint, uint, char, uchar), ещё указать размер в байтах C++
C++ Написать прогу, которая подсчитывает макс. и мин. значения переменных (int, shorting, longint, uint, char, uchar), ещё указать размер в байтах
C++ Функция не видит выделенной памяти под глобальные переменные
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
19.10.2013, 16:32     Что-то леплю в прогу, переменные, функции. Не видит переменных #2
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
SimpleCat KonstructFunction()
C++
1
SimpleCat SimpleCat::KonstructFunction()
внимательнее
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
19.10.2013, 17:07  [ТС]     Что-то леплю в прогу, переменные, функции. Не видит переменных #3
Спасибо!!

Добавлено через 7 минут
cpp(44): error C4716: SimpleCat::KonstructFunction: должна возвращать значение

Что ей еще прописать?
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
19.10.2013, 17:09     Что-то леплю в прогу, переменные, функции. Не видит переменных #4
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
Что ей еще прописать?
возвращаемое значение
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
19.10.2013, 17:51  [ТС]     Что-то леплю в прогу, переменные, функции. Не видит переменных #5
Мне в функции не нужен вывод. Как без него правильно обойтись?

C++
1
2
SimpleCat SimpleCat::KonstructFunction()
 {  konstruktor=0;   destruktor=0;  cout << "KonstructFunction()...    "    << "     konstruktor " <<  konstruktor<< "     destruktor " <<  destruktor <<endl ;return const SimpleCat &; }
Добавлено через 2 минуты
,,Не существует конструктора для приобразования из int в SimpleCat.,, return 0;

Добавлено через 3 минуты
SimpleCat: недопустимое использование этого типа в качестве выражения
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
19.10.2013, 18:01     Что-то леплю в прогу, переменные, функции. Не видит переменных #6
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
Мне в функции не нужен вывод. Как без него правильно обойтись?
ну так убери

Добавлено через 18 секунд
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
;return const SimpleCat &
что это за хрень?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2013, 18:07     Что-то леплю в прогу, переменные, функции. Не видит переменных
Еще ссылки по теме:

C++ Среднее арифметическое, не видит инициализированные переменные
Подскажите, почему не видит переменные a и b? При использовании конструктора C++
C++ Функция не видит переменных из main

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

Или воспользуйтесь поиском по форуму:
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
19.10.2013, 18:07  [ТС]     Что-то леплю в прогу, переменные, функции. Не видит переменных #7
Это в журнале ошибок сказало, что мол инт немогу перевести в const SimpleCat &, я его отуда вырезал и вставил, заместо ноля.
Yandex
Объявления
19.10.2013, 18:07     Что-то леплю в прогу, переменные, функции. Не видит переменных
Ответ Создать тему
Опции темы

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