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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
&Alex&
19 / 19 / 1
Регистрация: 21.03.2010
Сообщений: 221
#1

Задача на ООП - C++

27.09.2011, 21:29. Просмотров 1291. Ответов 15
Метки нет (Все метки)

Есть задача: создайте класс, способный хранить строку в куче. Должна существовать возможность передачи строки объекта вашего класса и потом получения указателя на такую же строку. Должна быть также возможность изменения строки объекта класса. Используйте конструкторы и деструктор для внедрения всех автоматических инициализаций и очистки объекта. Я написал, но не уверен что правильно. Если есть ошибки, то помогите найти и исправить.
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
// Microsoft Visual Studio 2010
//Visual C++
#include "stdafx.h"
#include<iostream>
 
using namespace std;
 
class My_class{
public :string st;
My_class(string s){
    st=s;
    }
~My_class(){
    exit(1);
}
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    int i;
    string str;
    My_class new_class(str);
    cout<<&new_class.st;
    cin>>i;
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2011, 21:29     Задача на ООП
Посмотрите здесь:

Задача по ООП Рыбки в озере - C++
Сам я в программировании полный ноль так что прошу помощи что бы разобраться хоть как то со всем этим. Нужно написать программу результатом...

Концептуальная задача по ООП (виртуальное наследование в C++) - C++
Добрый день. Есть базовый класс A. От него наследуется B : public A. От B виртуально наследуется C : public virtual B. Далее D...

Классическая задача ООП: геометрические фигуры - C++
Решить эту задачу не составляет труда, сталкивался с ней уже. Самому интересно взглянуть чужой код, а лучше посмотреть решение...

Задача по ООП (создать класс Alfa) - C++
Ребята, помогите, пожалуйста, с задачей. Второй день долблюсь и не понимаю, что не так. Условие: создать класс Alfa таким образом,...

ООП. Не работает задача (конструктор, деструктор) - C++
Ребят, есть задача, она решенная, но я не могу разобраться в работе конструктора и деструктора, поэтому файлы, приложенные к условию не...

Задача из "ООП в C++" Р. Лафоре - C++
Глава 3. Задача 11 (стр. 141 - 4-е издание, СПб, Питер, 2012). Не слишком ли громоздкая конструкция у меня получилась для решения...

ООП - C++
#pragma hdrstop #pragma argsused //#include &quot;Student.hpp&quot; //#include &quot;Prof.hpp&quot; //#include &quot;Personne.hpp&quot; #include &lt;conio.h&gt; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pincet
1237 / 807 / 85
Регистрация: 23.07.2010
Сообщений: 4,125
27.09.2011, 21:32     Задача на ООП #2
не уверен, но в деструкторе exit() зачем?
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
27.09.2011, 21:33     Задача на ООП #3
Цитата Сообщение от &Alex& Посмотреть сообщение
~My_class(){ exit(1); }
такое только в VS канает, а вообще это UB
pincet
1237 / 807 / 85
Регистрация: 23.07.2010
Сообщений: 4,125
27.09.2011, 21:34     Задача на ООП #4
Jupiter,
sorry - UB - это что?
&Alex&
19 / 19 / 1
Регистрация: 21.03.2010
Сообщений: 221
27.09.2011, 21:36  [ТС]     Задача на ООП #5
Цитата Сообщение от Jupiter Посмотреть сообщение
такое только в VS канает, а вообще это UB
Так это и есть VS, ток в параметре должно быть 0 а не 1...Ошибочка
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
27.09.2011, 21:38     Задача на ООП #6
pincet, http://alenacpp.blogspot.com/2005/08...undefined.html

Добавлено через 1 минуту
Цитата Сообщение от &Alex& Посмотреть сообщение
Так это и есть VS
ну и что? это не меняет ошибки, захочет ваш препод скомпилить вашу программу под линуксом и получит бесконечный цикл
pincet
1237 / 807 / 85
Регистрация: 23.07.2010
Сообщений: 4,125
27.09.2011, 21:39     Задача на ООП #7
Именно "UB" я и имел ввиду про exit() в деструкторе
&Alex&
19 / 19 / 1
Регистрация: 21.03.2010
Сообщений: 221
27.09.2011, 21:40  [ТС]     Задача на ООП #8
Цитата Сообщение от Jupiter Посмотреть сообщение
pincet, http://alenacpp.blogspot.com/2005/08...undefined.html

Добавлено через 1 минуту

ну и что? а возьмет ваш препод и скомпилит вашу программу под линуксом и получит бесконечный цикл
Это не имеет особого значения, дэструктор можно вообще убрать. Мне важное само задание.
pincet
1237 / 807 / 85
Регистрация: 23.07.2010
Сообщений: 4,125
27.09.2011, 21:49     Задача на ООП #9
О, бля, только в код всмотрелся - печалько.
нежизнеспособно твое решение.
моветон - разрешать public данным класса - читаем инкапсуляцию.
создавать экземпляр класса с неопределенным значением - сильно от компилятроа зависит (прошу гуру тут меня подправить, если неправ)
запись cout<<&new_class.st; смущает, просто ППЦ - чтой-та?
&Alex&
19 / 19 / 1
Регистрация: 21.03.2010
Сообщений: 221
27.09.2011, 21:52  [ТС]     Задача на ООП #10
Цитата Сообщение от pincet Посмотреть сообщение
О, бля, только в код всмотрелся - печалько.
нежизнеспособно твое решение.
моветон - разрешать public данным класса - читаем инкапсуляцию.
создавать экземпляр класса с неопределенным значением - сильно от компилятроа зависит (прошу гуру тут меня подправить, если неправ)
запись cout<<&new_class.st; смущает, просто ППЦ - чтой-та?
И как нужно правильно??? Просто я С++ 2-й день изучаю))
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
27.09.2011, 21:53     Задача на ООП #11
Цитата Сообщение от pincet Посмотреть сообщение
запись cout<<&new_class.st; смущает, просто ППЦ - чтой-та?
предположительно вывод адреса поля st объекта new_class
pincet
1237 / 807 / 85
Регистрация: 23.07.2010
Сообщений: 4,125
27.09.2011, 22:06     Задача на ООП #12
ты мечаешь лабу сдать, или приобрести реальный опыт в ООП?
Если ответ на вопрос!="лабу сдать" - задавай конкретные вопросы - здесь есть люди, которые на них ответят.

Добавлено через 1 минуту
Цитата Сообщение от talis Посмотреть сообщение
предположительно вывод адреса поля st объекта new_class
Офигительно информативно - адрес какго-либо объекта....
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
27.09.2011, 22:07     Задача на ООП #13
Цитата Сообщение от pincet Посмотреть сообщение
Офигительно информативно - адрес какго-либо объекта....
pincet, зря вы так. Во время отладки такое может быть очень полезно.
&Alex&
19 / 19 / 1
Регистрация: 21.03.2010
Сообщений: 221
27.09.2011, 22:08  [ТС]     Задача на ООП #14
Цитата Сообщение от pincet Посмотреть сообщение
ты мечаешь лабу сдать, или приобрести реальный опыт в ООП?
Если ответ на вопрос!="лабу сдать" - задавай конкретные вопросы - здесь есть люди, которые на них ответят.

Добавлено через 1 минуту


Офигительно информативно - адрес какго-либо объекта....
Вообще то и лабу нужно сдать, и опыт хочу получить
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
27.09.2011, 22:17     Задача на ООП #15
&Alex&, вообще как-то так:

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
#include <iostream>
#include <string>
 
using namespace std;
 
class CDummy
{
private:
    string str;
 
public:
    CDummy( const string &s ) : str( s ) { };
    CDummy( const CDummy &other ) : str( other.str ) { };
 
    ~CDummy() { }; // не нужен он тут
 
    friend ostream & operator<<( ostream &os, const CDummy &obj );
};
 
ostream & operator<<( ostream &os, const CDummy &obj )
{
    os << obj.str;
    return os;
}
 
int main( )
{
    CDummy obj1( "hello, world!" );
    CDummy obj2( obj1 );
 
    cout << "obj1: " << obj1 << "\nobj2: " << obj2 << '\n';
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2011, 22:18     Задача на ООП
Еще ссылки по теме:

Переход в ООП - C++
Движение составного графического объекта, управляемого с клавиатуры с помощью стрелок. с++. ООП. С ООП еще не работал. Программу...

Массивы в ООП - C++
Ботанический сад и цветы. Цветы цветут при соблюдении ряда условий: время года, температура и влажность. Класс обработчик реализует поиск...

ООП, методы - C++
Такая проблема. Пишу класс, реализующий множество целых чисел. Число k принадлежит множеству, если a=1. Вот IntegerSet.h пока...

Курсовая по ООП - C++
Одна тема - одно задание. Потрудитесь!

ООП в с++ и OpenGL - C++
Пытаюсь написать код для упрощения работы с OpenGL #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;glut.h&quot; using namespace...


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

Или воспользуйтесь поиском по форуму:
pincet
1237 / 807 / 85
Регистрация: 23.07.2010
Сообщений: 4,125
27.09.2011, 22:18     Задача на ООП #16
Цитата Сообщение от talis Посмотреть сообщение
pincet, зря вы так. Во время отладки такое может быть очень полезно.
Спрошу прилюдно у &Alex& - в самом деле хотели узнать адрес st?

Не по теме:


Не с того начинаете.
Форум - зло для начинающих. Пока сами шишек не набьете на элементарщине - пользы не будет

Yandex
Объявления
27.09.2011, 22:18     Задача на ООП
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru