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

Наследование классов. Длина вектора на плоскости и в трехмерном пространстве - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Передача массивов и параметров с одной функции в другую http://www.cyberforum.ru/cpp-beginners/thread811421.html
Здравствуйте. Я пишу программу, она состоит из множества функций. И у меня возникло море вопросов. Чур камнями не бросаться. 1)Как правильно определять выходные данные? их тоже надо прописывать в аргументах? 2)Я описала VectorArray, Gradient, tab как глобальные значения, потому что если их делать как локальные в main он выдает что ошибка, и они не определены, а они определяются уже далее в...
C++ Конструктор копии Конструктор копии вызывается при: 1)явном создании копии 2)при передачи параметров в функцию (по значению) 3)при возвращении объекта из функции напиши пожалуйста примеры http://www.cyberforum.ru/cpp-beginners/thread811420.html
Подскажите отладить запись в файл и считывание с него C++
Я написал программу, она работает с использованием fprintf() и fscanf(), но задание сделать с fwrite() и fread() - вот с ними у меня выводит бред в файл тоже записывает бред.. #include <stdio.h> #include <locale.h> //Чтоб Visual понимал русские символы #include <string.h> #include <conio.h> struct SchoolBoys{ //Определение структуры char num; char name; int SchoolNumber;
C++ Вычислить сумму делителей некоторого числа СН
#include <stdlib.h> #include <iostream.h> #include <math.h> main () {long ch,d,sumdel; float c; clrscr(); ch=(1+rand()% 999); cout<<"generator random chesil vidal znachenie"<<ch<<endl; c=sqrt (ch);
C++ operator char() или operator int() http://www.cyberforum.ru/cpp-beginners/thread811409.html
Здорова госпдо! Снова ничо не ясно как всегда. Разбираю программку из книги Страуструпа, там он описывает класс String в нем есть вложенный класс Cref как бы имитирующий char. И от надыбал я там строчку: operator char() const {s.check(i); return s.read(i);}//выдает значение ну и не понял, что это он тут перегрузил, и кода этот оператор вызывается. И еще смотрел на перед задачку, так там...
C++ Задача на одномерный массив Дана задача: "Лесенка" Вова стоит перед лесенкой из N ступеней. На каждой из ступеней написаны произвольные целые числа. Первым шагом Вова может перейти на первую ступень или, перепрыгнув через первую, сразу оказаться на второй. Также он поступает и дальше, пока не достигнет N-ой ступени. Посчитаем сумму всех чисел, написанных на ступенях через которые прошел Вова. Требуется написать... подробнее

Показать сообщение отдельно
kukhtikov
2 / 2 / 0
Регистрация: 16.12.2012
Сообщений: 97
18.03.2013, 12:22  [ТС]     Наследование классов. Длина вектора на плоскости и в трехмерном пространстве
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
77
78
79
80
81
82
83
84
85
86
87
88
#include "stdafx.h"
#include "stdafx.h"
#include "conio.h"
#include <iostream>
#include <cmath>
 
using namespace std;
 
class vekt_na_plti
{
protected:
    int x, y;  //координата вектора x, y
public:
    vekt_na_plti()
    {
    }
    vekt_na_plti(int a, int b)  //конструктор для инициализации поля
    {
        x=a;
        y=b;
        //this->x=x;
        //this->y=y;
    }
    double dlina_vect()
    {
        double l;
        l=pow(x*x+y*y,0.5);
        return l;
    }
        virtual void print()
    {
        cout << "\nkoordinata vektora x= "<< x;
        cout <<"\nkoordinata vektora y= "<< y;
        //cout << '\n' << "Dlina vektora na ploskosti: L=" << dlina_vect(x,y);
    }
};
class vektor_v_trexmern_prve: public vekt_na_plti
{
    int z;  //координата вектора z
public:
    vektor_v_trexmern_prve()
    {
    }
    vektor_v_trexmern_prve(int x, int y, int z):vekt_na_plti(x ,y)
    {
        this->z=z;
    }
    double dlina_vect1()
    {
        double l;
        l=pow(x*x+y*y+z*z,0.5);
        return l;
    }
    void print()
    {
        vekt_na_plti::print();
        cout<<"\nkoordinata vektora z="<< z;
        cout << '\n' << "Dlina vektora na ploskosti: L=" << dlina_vect();
        cout << '\n' << "Dlina vektora v prostranstve: L=" << dlina_vect1();
    }
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    vekt_na_plti A;
    int x1, y1, z1;
    vektor_v_trexmern_prve B;
    cout << "Vvedite koordinatu X: x="; cin >> x1; cout << '\n';
    cout << "Vvedite koordinatu Y: y="; cin >> y1; cout << '\n';
    cout << "Vvedite koordinatu Z: z="; cin >> z1; cout << '\n';
    /*A.print();
    cout<<'\n';
    A.dlina_vect(x1,y1);
    cout << '\n';
    B.print();
    cout << '\n';*/
    vekt_na_plti *pA;
    vektor_v_trexmern_prve *pB;
    pA=&A;
    pA->dlina_vect();
    pA->print();
    cout << '\n';
    pB=&B;
    pB->dlina_vect1();
    pB->print(); 
    getch();
    return 0;
}
Кликните здесь для просмотра всего текста

Создать базовый класс «вектор на плоскости». Элементы класса: поля, задающие координаты точки (статус доступа protected), определяющей конец вектора (начало вектора находится в точке с координатами 0, 0); конструктор для инициализации полей; функция для вычисления длины вектора, функция для печати полей и длины вектора. Создать производный класс «вектор в трехмерном пространстве». Элементы класса: дополнительное поле, задающее дополнительную координату; конструктор для инициализации полей; переопределенная функция для вычисления длины вектора; переопределенная функция для печати полей и длины вектора. Создать по 1 объекту каждого из классов. Показать вызов созданных функций. Обеспечить динамический полиморфизм (вызов функций через указатель одного типа, настроенный на объект другого типа).

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