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

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

Войти
Регистрация
Восстановить пароль
 
Cheburagen
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 13
#1

Оператор new (создать класс город у которого есть название и население) - C++

19.06.2013, 17:52. Просмотров 394. Ответов 5
Метки нет (Все метки)

Была задачка, создать класс город у которого есть название и население. Определить функцию которая устанавливает название Москва и население 1 млн по умолчанию. Для задания названия города использовать оператор new.

Вот что у меня получилось:
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
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
 
 
class man {
    int vol;
    char name[50];
public: 
    void standartMan ();
    void printMan ();
};
 
void man::standartMan (){
    vol=1;
    strcpy(name,"moscow");
}
 
void man::printMan(){
    puts("City");
    printf( "\nName: %s", name );
    printf( "\nvol: %d milion", vol  );
}
 
int main(){
    man city;
    city.standartMan();
    city.printMan();
    getch();
    return 0;
}
Но я не понял как и куда пригвоздить new ибо не понимаю его назначение, прошу помочь в разрешении данной проблемы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2013, 17:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Оператор new (создать класс город у которого есть название и население) (C++):

Создать класс - институт , у которого есть название и число студентов - C++
Создать класс - институт , у которого есть название и число студентов . Определить функцию , которая устанавливает название “НГУ ” и 20 тыс...

Создать класс "Сыр", у которого есть название, вес порции, энергетическая ценность - C++
создать класс сыр у которого есть название, вес порции, энергетическая ценность. Определить функцию которая усанавливает энергитическую...

Создать класс - человек, у которого есть имя и возраст. - C++
Создать класс - человек, у которого есть имя и возраст. Определить функцию которая установит имя и возраст по умолчанию. Помогите! Вот...

Создать класс “Город”, состоящей из класса ”Школа”. C++ - C++
Создать класс “Город”, состоящей из класса ”Школа”. Класс “Город”:название города, колич. жителей, колич. поликлинник, колич. школ. ...

Создать класс “Автомагазин”, состоящей из класса ”Марки машин”. Класс “Автомагазин ”:название магазина, адрес, телефон. Класс “ Марки машин ”: марка - C++
Создать класс “Автомагазин”, состоящей из класса ”Марки машин”. Класс “Автомагазин ”:название магазина, адрес, телефон. Класс “ Марки...

Создать структуру Население - C++
Сделать и вывести структуру: Номер записи, название области, название областного центра, площадь территории, численность населения. Я...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrGluck
Модератор
Эксперт CЭксперт С++
7209 / 4375 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
19.06.2013, 17:54 #2
можно сделать так:
int x[5];
а можно так:
int *x = new int[5];
можно так:
int *x = new int(5).

т.е. в вашем случае
man *m = new man; вызовет конструктор по-умолчанию. Если требуется передать аргументы, то так:
man *m = new man(...);

Только не забудьте освободить память с помощью оператора delete.
Cheburagen
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 13
19.06.2013, 18:17  [ТС] #3
название города у меня char name[50] и я так понял что мне нужно его изменить на char name= new char [50]. Но тогда компилятор ругается.....
Croessmah
Модератор
Эксперт CЭксперт С++
13132 / 7395 / 828
Регистрация: 27.09.2012
Сообщений: 18,225
Записей в блоге: 3
Завершенные тесты: 1
19.06.2013, 18:19 #4
char* и не забывать чистить за собой
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
19.06.2013, 18:20 #5
Cheburagen, внимательно посмотрите 2-й пост, там чётко показана работа с new
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6447 / 3094 / 306
Регистрация: 04.12.2011
Сообщений: 8,567
Записей в блоге: 4
19.06.2013, 18:25 #6
MrGluck, когда про Пола Ньюмена, не могу промолчать.)
Задание криво сформулировано. Не имеются же ввиду действа с сырой памятью... Наверное подразумевается что-то вроде:
C++
1
2
3
4
5
6
7
8
9
10
class man {
    int vol;
    string name;
public: 
man(
    void standartMan (int vol_=1000000, string name_="Moskwa")
:vol(vol_), name(name_)
{};
    void printMan ();
};
а динамический объект при этом необязателен, но если создавать, то со скобками иначе же мусором проинициализируется:
C++
1
2
man objGood = new man();
man objBad = new man;

Не по теме:


Непонятно вот что: куда остальные из белокаменной подевались?
Хотя говорят в штатах их не менее 18 шт. Например:

Цитата Сообщение от wiki;
Moscow — Москва — город округа Лата, штат Айдахо...


MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2013, 18:25
Привет! Вот еще темы с ответами:

В C# создать объект, класс которого написан в C++ - C++
Надеюсь в правильную ветку пишу. Как можно получить из C# создать объект который написан в C++? К примеру есть класс #ifndef STOCK_H_ ...

Создать класс жидкость, имеющий название (указатель на строку), плотность - C++
Создать класс жидкость, имеющий название (указатель на строку), плотность. Определить конструкторы, деструктор и операторы вывода в поток....

Создать объект, класс которого указан в строке - C++
Привет всем. Уже давно ищу решение ниже изложенного вопроса и все никак. Задавал вопросы на других форумах, сам искал решение в интернете,...

Создать класс Str (символьная строка). Переопределить оператор присвоения. - C++
Помогите решить с обяснениями. Создать класс Str (символьная строка). Переопределить оператор присвоения.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.06.2013, 18:25
Ответ Создать тему
Опции темы

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