Форум программистов, компьютерный форум, киберфорум
Наши страницы

Почему не работает? Поворот объекта - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разобраться почему не компилируется код (использование std::bitset) http://www.cyberforum.ru/cpp-beginners/thread1498864.html
У меня не компилируется этот код. Где Ошибка? #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std;
C++ Программа, показывающая плотность вещества #include <iostream> using namespace std; struct Fluid { const char *name; double d; }; struct Gas http://www.cyberforum.ru/cpp-beginners/thread1498854.html
Массив "hotel", в который пользователь добавляет "жильцов" C++
Дорогие форумчане, помогите мне решить проблему в данной программе! Суть программы: Есть массив "hotel", в который пользователь добавляет "жильцов" (присваивает значения переменным из массива),...
C++ Вывести те слова из текста на экран, которые отсортированы по количеству гласных букв
Дали написать программу "В файле есть текст, вывести слова из текста на экран, которые отсортированы по количеству гласных букв" Работаю в Visual Studio C++. Желательно самыми простыми функциями и...
C++ Какой контейнер в STL и для чего эффективнее использовать? http://www.cyberforum.ru/cpp-beginners/thread1498826.html
Какой контейнер в STL и для чего эффективнее использовать? И почему
C++ Как сделать execl("my", "arg", argv)? Пытаюсь сделать программу под linux. Нужен такой код, который бы запускал execl с двумя моими параметрами и всеми параметрами из argv кроме первого (имя приложения). Пытался преобразовать argv в... подробнее

Показать сообщение отдельно
DrOffset
7376 / 4453 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
14.07.2015, 20:30
Цитата Сообщение от Dj_Crush Посмотреть сообщение
Конструктор в неявном виде получается?
А. Прости. Я не прав. У тебя нет там конструктора, а есть функция create
Тогда так:
C++
1
2
3
4
    Object::Object(int counter, float nn, float nn1, float nn2)
         : tor(counter, coord(nn, nn1, nn2))
    {
    }
Добавлено через 38 секунд
Это для случая, когда у coord есть конструктор для от трех параметров.

Добавлено через 5 минут
В общем похоже проще начальный код поправить:
Кликните здесь для просмотра всего текста

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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <vector>
#include <array>
#include <iostream>
 
using namespace std;
struct coord{
    float x;
    float y;
    float z;
 
    coord(float x, float y, float z)
       : x(x), y(y), z(z)
    {}
};
 
class Object
{
public:
    Object(size_t count, float nn, float nn1, float nn2)
        : tor(count, coord(nn, nn1, nn2))
    { }
    Object()
        : tor()
    { }
 
    void create(size_t count, float nn, float nn1, float nn2)
    {
        for (size_t l = 0; l < count; l++)
            tor.push_back(coord(nn,nn1,nn2));
    }
 
    void Rotate(int AngleX)
    {
        for (size_t l = 0; l < tor.size(); l++)
        {
            tor[l].x *= AngleX;
            tor[l].y *= AngleX;
            tor[l].z *= AngleX;
        }
    }
    void print()
    {
        for (size_t l = 0; l < tor.size(); l++)
            cout << tor[l].x <<"  "<<tor[l].y<<"    "<<tor[l].z<< endl;
    }
    ~Object()
    {
    }
private:
    int x, y;
    vector<coord> tor;
};
 
int main()
{
 
    Object ss1(5, 1,2,3);
    Object ss2(6, 3,4,5);
 
    ss1.print();
    ss2.print();
    ss1.Rotate(4);
    ss2.Rotate(2);
 
    ss1.print();
    ss2.print();
 
    cout << "---------------------" << endl;
    ss1.print();
    ss2.print();
 
    ss1.print();
    ss2.print();
 
    system("pause");
}

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