КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
На экране
Class matr { float *x; int n,m; public: matr(int, int); matr (matr& f); void vvod(); void ww(); friend matr operator+(matr& ob1, matr& ob2); matr& operator=(matr& ob2); ~matr(); }; //============================================== //конструктор с параметрами matr::matr(int _n, int _m) { n=_n; m=_m; x=new float [n*m]; puts("\n работал конструктор "); } //============================================== //конструктор копии matr::matr(matr& f) { n=f.n; m=f.m; x=new float [n*m]; for(int i=0; i<n; i++) for(int j=0; j<m; j++) *(x+i*m+j)=*(f.x+i*f.m+j); cout <<" работал конструктор копии "; } //============================================== //функция ввода численных данных void matr::vvod() { for(int i=0;i<n;i++) for(int j=0;j<m;j++) *(x+i*m+j)=5+random(10); } //============================================== //деструктор matr::~matr () { delete[]x; puts("\n работал деструктор"); } //============================================== //глобальная операторная функция переопределения //операции + matr operator+(matr& P1, matr& P2) { matr rez(P1.n, P1.m); puts("\n rez dla + "); for(int i=0;i<rez.n;i++) for(int j=0;j<rez.m;j++) *(rez.x +i*rez.m+j)=*(P1.x+i*P1.m+j)+*(P2.x+i*P2.m+j); return rez; } //операторная функция переопределения операции = matr& matr::operator=(matr& P2) {
for(int i=0;i<n;i++) for(int j=0;j<m;j++) *(x+i*m+j)=*(P2.x+i*P2.m+j); return * this; } //функция-член печати матрицы void matr::ww() { for(int i=0;i<n;i++) { cout<<"\n"; for(int j=0;j<m;j++) cout<< *(x+i*m+j)<<" "; } } //================================== //основная программа void main() { matr P1(3,4); P1.vvod(); P1.ww(); matr P2(3,4); P2.vvod(); P2.ww();
matr P3(3,4);
P3=P1+P2; P3.ww(); }
rabotal konstruktor 5 5 8 5 10 6 12 14 6 11 10 5 rabotal konstruktor 11 12 13 14 14 13 14 13 11 10 10 12 rabotal konstruktor rabotal konstruktor rabotal konstruktor kopii
rabotal destruktor rabotal destruktor
16 17 21 19 24 19 26 27 17 21 20 17 rabotal destruktor rabotal destruktor rabotal destruktor
Дата добавления: 2014-01-03; Просмотров: 271; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |