Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Файл реализации класса. #include stdafx.h

Читайте также:
  1. I.I.3. Интеграционные процессы в современном мире как непосредственная форма реализации движения к открытой экономике.
  2. I.II.1. Категория оптимальности общественного развития и формы ее реализации в современных общественных моделях.
  3. II.II. 1. Управление человеческими ресурсами - ядро системы современного менеджмента. Общие подходы и механизмы их реализации.
  4. АНАЛИЗ ИСПОЛЬЗОВАНИЯ И РЕАЛИЗАЦИИ
  5. Анализ объема производства и реализации продукции
  6. Анализ объема производства и реализации продукции
  7. Анализ прибыли от реализации

#include "stdafx.h"

#include "matrix.h"

Matrix& Matrix::operator = (Matrix &x) {

 

setSize (x.m, x.n);

mat = new float[ x.m * x.n ];

float *m = x.mat;

 

for (int i = 0; i < x.m; i++) {

for (int j = 0; j < x.n; j++) {

*(mat + (i*n + j)) = *(m + (i*n + j));

}

}

 

return *this;

 

}

 

Matrix& operator + (Matrix &x, Matrix &y) {

 

Matrix *tmp = new Matrix (x.m, x.n);

float *m = new float[x.m * x.n];

float *mx = x.mat;

float *my =y.mat;

 

for (int i = 0; i < tmp->m; i++) {

for (int j = 0; j < tmp->n; j++) {

*(m + i*tmp->n + j) = *(mx + i*tmp->n + j) + *(my + i*tmp->n + j);

}

}

 

tmp->mat = m;

return *tmp;

 

}

 

Matrix& operator - (Matrix &x, Matrix &y) {

 

Matrix *tmp = new Matrix (x.m, x.n);

float *m = new float[x.m * x.n];

float *mx = x.mat;

float *my =y.mat;

 

for (int i = 0; i < tmp->m; i++) {

for (int j = 0; j < tmp->n; j++) {

*(m + i*tmp->n + j) = *(mx + i*tmp->n + j) - *(my + i*tmp->n + j);

}

}

 

tmp->mat = m;

return *tmp;

}

 

Matrix& operator * (Matrix &x, Matrix &y) {

Matrix *tmp = new Matrix (x.m, y.n);

float *m = new float[x.m * x.n];

float *mx = x.mat;

float *my =y.mat;

 

for (int i = 0; i < x.m; i++) {

for (int j = 0; j < y.n; j++) {

*(m + i*tmp->n + j) = 0;

for (int k = 0; k < x.n; k++) {

*(m + i*tmp->n + j) += (*(mx + i*tmp->n + k)) * (*(my + k*tmp->n + j));

}

}

}

 

tmp->mat = m;

return *tmp;

}

 

Создайте класс Shape (форма). Создайте от него производные классы Circle (окружность) и Cylinder(цилиндр). Класс Shape должен содержать чисто виртуальную функцию printShapeName (печатать имя формы). Эта функция должна переопределяться в каждом производном классе. Имена объектов производных классов должны выводиться на печать через указатель на базовый класс, то есть использовать свойства полиморфизма.


Дата добавления: 2015-07-16; просмотров: 35 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Основной файл с ф-ией main| Заголовочный файл класса

mybiblioteka.su - 2015-2024 год. (0.007 сек.)