Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Отображение пункта меню по значению переменной https://www.cyberforum.ru/ cpp-beginners/ thread1955355.html
Доброго времени суток. Снова столкнулся с проблемой. Предположим, есть переменная: int showsite; И пункт меню: MENUITEM "&Visit our website", CM_VISIT Пожалуйста, подскажите, как сделать отображение пункта "Visit our website" по значению переменной showsite 1. Я предполагаю, нужно условие. Но if(условие) в .rc не существует. Пожалуйста, подскажите, как выполнять в этих файлах условия.
C++ Исправить пример
Надо исправить пример так чтобы количество экземпляров row было не меньше 5 и так чтобы выводилось на экран название товара с наибольшим количеством #include "stdafx.h" #include <cstdlib> #include <iostream> using namespace std; struct row { short amount; string name; int id; }; void main() {
C++ Нужно ли производить оптимизацию функции https://www.cyberforum.ru/ cpp-beginners/ thread1955333.html
Написал ф-цию: ofstream fout("Code.xml"); fout << "&amp;#10; \' \' &amp;#13; \' \' &amp;#9; \' \'\n"; for(int i(31), j(0); ++i <= 8785;) { fout << endl; if(i == 256) {fout << "\n&amp;#256; — &amp;#1039;"; j = 1039; goto Apostrophe;} if(i == 1104) {fout << "\n&amp;#1104; — &amp;#8482;"; j = 8482; goto Apostrophe;} if(i == 8541) {fout << "\n&amp;#8541; — &amp;#8557;"; j = 8557; goto EmptyTab;} if(i == 8583)...
C++ Ввести с клавиатуры символ. Определить, является ли введённый символ буквой Ввести с клавиатуры символ. Определить, является ли введённый символ буквой.Заранее благодарчик! https://www.cyberforum.ru/ cpp-beginners/ thread1955324.html
C++ Определите, является ли k-ый элемент больше k+1-го для данного массива размерностью n (n < 50)
Формат входных данных n - количество элементов в массиве Arr Arr - элементы массива (-50 < Arr < 50) k - элемент массива, для которого проводится сравнение. Формат выходных данных
C++ Запись строки из файла без пробелов https://www.cyberforum.ru/ cpp-beginners/ thread1955309.html
Здравствуйте, нужна ваша помощь. Мне нужно считать строку из файла и убрать пробелы перед фразой, которую я записываю и потом вывожу.
C++ Подсчитать общее количество цифр и количество единиц в строке https://www.cyberforum.ru/ cpp-beginners/ thread1955307.html
Вводится текст. Среди символов этого текста имеется несколько цифр. Подсчитать общее количество цифр и количество единиц в строке. Если в тексте нет единиц , выдать соответствующее сообщение
C++ Проверить, находится ли максимальный элемент матрицы на главной диагонали или выше её
Дана вещественная матрица A(n*n). Если максимальный элемент матрицы находится на главной диагонали или выше её, то все элементы матрицы домножить на 10. В противном случае получить единичную матрицу.
C++ Класс дробных чисел https://www.cyberforum.ru/ cpp-beginners/ thread1955289.html
Есть некий класc (можно сказать самописный float/double). Перегрузил операцию Суммы, а вот как перегрузить операцию Разности ума не приложу. Как должна выглядеть консоль по завершению работы кода: Enter the 'a': 1 1 Enter the 'b': 1 2 a = 1.1 b = 1.2 a + b = 2.3 a - b = -0.1 #include <iostream>
C++ Ошибка компилятора С2064 в алгоритме #include <iostream> #include <set> #include <algorithm> #include <iterator> using namespace std; int I = 3; bool checkMod(int i) { https://www.cyberforum.ru/ cpp-beginners/ thread1955220.html
C++ Четырехмерный массив (реализация через библиотеку vector)
Всем привет. Пытаюсь реализовать умножение четырехмерной матрицы. Пока застряла с выделением памяти под мой массив. Ошибка в resize. Пытаюсь делать по аналогии с двухмерным массивом в примере ниже. Не нахожу пока хорошего примера для моей матрицы. Как правильно работать с моей матрицей? std::vector<std::vector<int> > imatrix(row); // Заполнение for(size_t i = 0; i < row; ++i) {...
C++ Ограничение количества знаков после запятой (float) В данном примере , происходит ограничение знаков после запятой для всех переменных float, строками 12,13. А как составить код для ограничения только определенных переменных float ? Допустим float d ? #include<iostream> using namespace std; int main() { setlocale(0, ""); https://www.cyberforum.ru/ cpp-beginners/ thread1955208.html
0 / 0 / 1
Регистрация: 05.09.2016
Сообщений: 55
0

Создание/удаление объектов класса - C++ - Ответ 10305021

07.04.2017, 15:49. Показов 4521. Ответов 1
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется следующий код:
cow.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef COW_H
#define COW_H
 
class Cow
{
private:
    char name[20];
    char * hobby;
    double weight;
    static int num;
 
public:
    Cow();
    Cow(const char * nm, const char * ho, double wt);
    Cow(const Cow & c);
    ~Cow();
    Cow & operator = (const Cow & c);
    void ShowCow() const;
};
 
#endif
cow.cpp
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
#include <iostream>
#include <cstring>
#include "cow.h"
int Cow::num = 0;
 
Cow::Cow()
{
    num++;
    std::strcpy(name, "NULL-cow");
    hobby = new char[1];
    hobby[0] = '\0';
    weight = 0;
}
 
Cow::Cow(const char *nm, const char *ho, double wt)
{
    num++;
    std::strcpy(name, nm);
    int len = std::strlen(ho);
    hobby = new char[len+1];
    std::strcpy(hobby, ho);
    weight = wt;
}
 
Cow::Cow(const Cow &c)
{
    num++;
    std::strcpy(name, c.name);
    int len = std::strlen(c.hobby);
    hobby = new char[len+1];
    std::strcpy(hobby, c.hobby);
    weight = c.weight;
}
 
Cow::~Cow()
{
    std::cout << "\n\nObject " << name << " was delete, " << num - 1 << " remain." << std::endl;;
    num--;
    delete []hobby;
}
 
Cow & Cow::operator =(const Cow &c)
{
    if (this == &c)
        return *this;
    delete []hobby;
    int len = std::strlen(c.hobby);
    hobby = new char[len+1];
    std::strcpy(hobby, c.hobby);
    std::strcpy(name, c.name);
    return *this;
}
 
void Cow::ShowCow() const
{   std::cout << "Name: " << name << ", hobby: " << hobby << ", weight: " << weight << std::endl;           }
usecow.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include "cow.h"
 
int main()
{
    Cow a;
    a.ShowCow();
    Cow b("RED-cow", "gryuzet", 5);
    b.ShowCow();
 
    Cow * c = new Cow;
    c -> ShowCow();
    c ->~Cow();
    return 0;
}
А теперь вопросы:
1. Правильно ли я понимаю, что объекты a и b создаются в стеке? Под них специально не выделяется память, которую потом нужно удалять, память освобождается автоматически деструктором, который вызывается, когда объект больше не используется программой?
2. Если новый объект, например 'c', создается с помощью операции new, память для него выделяется динамически, и для него нужно явно вызвать деструктор класса?
3. Почему для объектов 'a' и 'b' используется точка в
C++
1
a.ShowCow();
, а для объекта 'c' используется -> ? Где почитать об этом?
Спасибо.))

Вернуться к обсуждению:
Создание/удаление объектов класса C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2017, 15:49
Готовые ответы и решения:

Построение описания класса, создание и уничтожение объектов этого класса
Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть...

Удаление объектов класса
Никак не могу понять, как правильно освободить память. Подскажите пожалуйста в чем ошибка. ...

Удаление динамически созданных объектов собственного класса
Подскажите пожалуйста, у меня есть два класса, член одного - динамический массив элементов другого...

Вставка и удаление объектов пользовательского класса в deque
Доброго времени суток! У меня есть контейнер хранящий объекты пользовательского класса Detail:...

1
07.04.2017, 15:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2017, 15:49
Помогаю со студенческими работами здесь

Создание/удаление объектов
Здравствуйте. На сколько мне известно есть 2 способа создания объекта - с помощью слова new и без...

Создание и удаление объектов
Люди, прошу прошения за тупой вопрос, но что-то в гугле сходу не нашел. Вот, допустим, есть класс...

Создание объектов класса
class A{ A(string name){ } } int main(){ } Есть класс с конструктуром, я понимаю...

Создание класса-агрегата объектов
Есть класс TString являющийся агрегатом объектов класса TSymb Как написать конструктор TString при...

Создание Массива Объектов класса
Здравствуйте, такая вот проблемка возникла: нужно создать массив B объектов класса TGoods. И...

Создание класса абстрактных объектов
Добрый день/утро/вечер. Возник вопрос,скорее теоретического характера. Есть задание реализовать...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru