Консультация № 143414
08.09.2008, 21:32
0.00 руб.
0 1 1
Составить программу, которая определяет четыре объекта класса. 1 объект должен инициализироваться по умолчанию, 2 использовать крнструктор инициализации, 3 преобразование типа своего параметра к типу своего класса, 4 функцию ввода данных. Объявить функции ввода и вывода как "друзей" класса с параметром-объектом класса, передаваемым по значению и по ссылке. Задание: класс "треугольник" с данными три стороны(a, b, c).

Обсуждение

Неизвестный
10.09.2008, 04:22
общий
это ответ
Здравствуйте, Владимир Д!
Для этого нужно описать три типа конструктора и две дружественных функции. Подробнее смотрите в коде:
Код:
 #include <iostream>

using namespace std;

class triangle {

double a;
double b;
double c;

public:

triangle()
: a(0.0)
, b(0.0)
, c(0.0) {
}

triangle(double _a, double _b, double _c)
: a(_a)
, b(_b)
, c(_c) {
}

triangle(const triangle& tr)
: a(tr.a)
, b(tr.b)
, c(tr.c) {
}

~triangle() {
}

friend void input(triangle& tr);
friend void out(triangle& tr);
};

void input(triangle& tr) {

cout << "Input side a: ";
cin >> tr.a;

cout << "Input side b: ";
cin >> tr.b;

cout << "Input side c: ";
cin >> tr.c;
}

void out(triangle& tr) {

cout << "(" << tr.a << "; " << tr.b << "; " << tr.c << ")" << endl;
}

int main(int argc, char* argv[]) {

triangle tr1;
cout << "Trianlge #1:";
out(tr1);

triangle tr2(2, 3.8, 4.5);
cout << "Trianlge #2:";
out(tr2);

triangle tr3(tr2);
cout << "Trianlge #3:";
out(tr3);

triangle tr4;

cout << "Input triangle #4" << endl;
input(tr4);

cout << "Trianlge #4:";
out(tr4);

return 0;
}
Форма ответа