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

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

Восстановить пароль Регистрация
 
Cheburagen
 Аватар для Cheburagen
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 13
19.06.2013, 17:52     Оператор new (создать класс город у которого есть название и население) #1
Была задачка, создать класс город у которого есть название и население. Определить функцию которая устанавливает название Москва и население 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++
C++ Создать класс жидкость, имеющий название (указатель на строку), плотность
Создать класс - институт , у которого есть название и число студентов C++
Создать класс Цех со следующими полями: название, фамилия начальника, количество работающих C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
19.06.2013, 17:54     Оператор new (создать класс город у которого есть название и население) #2
можно сделать так:
int x[5];
а можно так:
int *x = new int[5];
можно так:
int *x = new int(5).

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

Только не забудьте освободить память с помощью оператора delete.
Cheburagen
 Аватар для Cheburagen
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 13
19.06.2013, 18:17  [ТС]     Оператор new (создать класс город у которого есть название и население) #3
название города у меня char name[50] и я так понял что мне нужно его изменить на char name= new char [50]. Но тогда компилятор ругается.....
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
19.06.2013, 18:19     Оператор new (создать класс город у которого есть название и население) #4
char* и не забывать чистить за собой
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
19.06.2013, 18:20     Оператор new (создать класс город у которого есть название и население) #5
Cheburagen, внимательно посмотрите 2-й пост, там чётко показана работа с new
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6172 / 2901 / 284
Регистрация: 04.12.2011
Сообщений: 7,722
Записей в блоге: 3
19.06.2013, 18:25     Оператор new (создать класс город у которого есть название и население) #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 — Москва — город округа Лата, штат Айдахо...


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

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