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

Класс "линия" наследуется классом "отрезок" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Аналоги функции МИН в Екселе http://www.cyberforum.ru/cpp-beginners/thread283315.html
Всем доброго времени суток. Вот возник такой вопрос. Есть у нас в екселе следующая запись: =МИН(J17;-25000*J1+1000000). Как тоже самое можно реализовать средствами с++? Добавлено через 7 минут Тут еще вопрос в том, как работает функция МИН в ексельке. Это просто нахождение минимального числа из двух, или все же что-то другое?
C++ тест программы (класса)! здраствуйте! вот задача на построение класса , я её зделал ,а тестик невыходит никак довести до ума, вот набросок: int main(int argc, char *argv) { Triangle ; а=2,b=4; cout << "(" << a() << "," << b() << ")" << "\n"; c = (a,b); http://www.cyberforum.ru/cpp-beginners/thread283304.html
C++ Знаки препинания в строке
Подсчитать количество знаков препинания в строке.
Функции float average(int arrray[],int from,int to) C++
Напишите код функции float average(int arrray,int from,int to). Возвращаемым значением функции должно быть среднее значение элементов массива,начиная с элементом с индексом from и кончая элементом с индексом to. не знаю даже с чего начать.....помогите пожалуйста
C++ прокометрировать http://www.cyberforum.ru/cpp-beginners/thread283298.html
double buf = Convert::ToDouble(pole->Text);// и как это заумно прокомент? int i,j; for(i=0;i<buf;i+=180); // больше всего это интерисует как прокоментировать заумно for(j=0;j>buf;j-=180); if ((buf==i)||(buf==j)) { pole->Text = "0"; }
C++ cryptoapi, шифрование, 3DES BYTE* Encrypt(char *str, char *password) { HCRYPTPROV hCryptProv = 0; HCRYPTKEY hKey = 0; HCRYPTHASH hHash = 0; BYTE *pBuffer = 0; DWORD dwBufferLen = strlen(str); CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_SCHANNEL, 0); CryptCreateHash(hCryptProv, CALG_SHA, 0, 0, &hHash); подробнее

Показать сообщение отдельно
Alisson
1 / 1 / 0
Регистрация: 10.01.2011
Сообщений: 30
26.04.2011, 16:57  [ТС]     Класс "линия" наследуется классом "отрезок"
"Конструктор вызывает конструктор предка с параметрами собственных полей. Заполнены случайными значениями в памяти. Простите, но это безумие." - Ну да, я понимаю, что здесь что-то не так, но как правильно, не знаю (и можно ли вообще как-то по-другому этот конструктор записать??)
"Кто вообще вам такие примеры дает? Некорректно порождать класс отрезок от класса линия. Отсюда каша в голове и непонимание происходящего." - Согласна, я не понимаю, зачем порождать класс "отрезок" от "линии", если это здесь одно и то же... но вот именно такое задание мне попалось...
"Для чего вызывать столько функций, если конструктор сам подставит нужные значения?" - Просто изначально планировала всё же с конструктором без параметров написать, и в мейне уже задать значения, а в данном случае действительно нелогично получилось ))

Добавлено через 18 часов 39 минут
Какой-то бред я вчера написала. Сразу не догадалась, что если создавать конструктор без параметров в классе-наследнике, то он обязательно должен быть и в базовом классе. Сегодня кое-что отредактировала, думаю сейчас уже код получше Но не уверенна, что у меня правильная формула нахождения угла. Кто-нибудь знает формулу действительно правильную? В интернете нахожу какие-то разные формулы, а какая из них правильная...
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
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
class Line
{
double x1, y1, x2, y2;
public:
Line(){}
Line (double x1, double y1, double x2, double y2):
x1(x1), y1(y1), x2(x2), y2(y2)
{}
void setx1 (double n) {x1=n;}
double getx1() {return x1;}
void sety1 (double m) {y1=m;}
double gety1() {return y1;}
void setx2(double l) {x2=l;}
double getx2() {return x2;}
void sety2(double k) {y2=k;}
double gety2() {return y2;}
 
double Length ()
{
double a, b, L;
a=pow ((x1-x2),2);
b=pow ((y1-y2),2);
return L=sqrt(a+b);
}
};
 
class intercept: public Line
{
public: intercept() {}
intercept (double a1, double a2, double b1, double b2): Line (a1, a2, b1, b2)
{
}
double angle()
{
double A;
return A=1/(atan((getx2()-getx1())/(gety2()-gety1())));
}
void prin ()
{
printf("koordinatu nachala otrezka: x1=%f, \n", getx1());
printf("y1=%f, \n", gety1());
printf("koordinatu konza otrezka: x2=%f, \n", getx2());
printf("y2=%f, \n", gety2());
}
};
 
void main ()
{
clrscr();
intercept myint;
myint.setx1(13);
myint.sety1(9);
myint.setx2(4);
myint.sety2(1);
myint.prin();
printf ("dlina otrezka=%f", myint.Length ());
printf ("ygol=%f", myint.angle());
getch();
}
 
Текущее время: 09:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru