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

Основы: указатель на объект или объект, что выбрать? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не работает strlen http://www.cyberforum.ru/cpp-beginners/thread1553547.html
сабж не могу взять длину строки функция определения возвращает не понятные значения #include <stdlib.h> #include <stdio.h> #include <string.h> #include <locale.h> int main(void) {
C++ Массив: Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик. Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента. Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик. http://www.cyberforum.ru/cpp-beginners/thread1553544.html
C++ Двусвязный список. Добавление элемета в начало
В чем проблема и почему начальный элемент "не закрепляется"? #include <iostream> #include "ListFunctions.h" using namespace std; struct ElementOfList { int value;
Thread разбить программу в несколько потоков mutex, разбить класс на несколько потоков C++
Всем привет! Помогите пожалуйста разделить мою программу на несколько потоков, вроде используют mutex, но я не знаю как его использовать.:help: а вот и сам код: #include "stdafx.h" #include <iostream> #include <conio.h> #include <math.h> using namespace std; class Massiv{
C++ Определить, равен ли квадрат числа учетверенной сумме кубов его цифр http://www.cyberforum.ru/cpp-beginners/thread1553508.html
Дано двузначное число. Определить, равен ли квадрат этого числа учетверенной сумме кубов его цифр. Например, для числа 48 ответ положительный, для числа 52 — отрицательный.
C++ Если массив заканчивается нулѐм, выдать соответствующее сообщение Если массив заканчивается нулѐм, выдать соответствующее сообщение. подробнее

Показать сообщение отдельно
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1864 / 1660 / 578
Регистрация: 14.05.2014
Сообщений: 4,770
Записей в блоге: 1
Завершенные тесты: 5
16.10.2015, 09:54     Основы: указатель на объект или объект, что выбрать?
Sillent Div, когда до наследования и виртуальных методов доберешься, тогда узнаешь один из важных аспектов использования указателей на объект, вместо объекта. Например,
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
#include <iostream>
#include <cmath>
#include <string>
 
class Shape
{
    public:
        virtual double square() const = 0;
        virtual std::string type() const = 0;
};
 
class Triangle : public Shape
{
    private:
        double a_, b_, c_;
    public:
        Triangle(double a=0, double b=0, double c=0) : a_(a), b_(b), c_(c) {}
 
        double square() const
        {
            double p = (a_ + b_ + c_) / 2;
            return sqrt(p * (p - a_) * (p - b_) * (p - c_));
        }
        
        std::string type() const
        {
            return std::string("Triangle");
        }
};
 
class Rectangle : public Shape
{
    private:
        double width_, height_;
    public:
        Rectangle(double width=0, double height=0) : width_(width), height_(height) {}
 
        double square() const
        {
             return width_ * height_;
        }
 
        std::string type() const
       {
            return std::string("Rectangle");
       }
};
 
int main()
{
    Shape *array[4]; // теперь в массив можно складывать и Triangle и Rectangle
    array[0] = new Triangle(3, 4, 5);
    array[1] = new Rectangle(4, 5);
    array[2] = new Rectangle(8, 6);
    array[3] = new Triangle(5, 4, 8);
 
    for (int i = 0; i < 4; ++i)
    {
        std::cout << array[i]->type() << ": square = " << array[i]->square() << std::endl;
        delete array[i];
    }
}
 
Текущее время: 13:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru