first commit
This commit is contained in:
106
Lab1/array.h
Normal file
106
Lab1/array.h
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
//##################################################################
|
||||||
|
// LAB 1
|
||||||
|
// ADVANCED PROGRAMMING IN C++
|
||||||
|
// MATRIX/ARRAY WITH DEEP COPY
|
||||||
|
//==================================================================
|
||||||
|
// array.h
|
||||||
|
// CLASS IMPLEMENTATION AND DEFINITION FOR
|
||||||
|
// THE ARRAY
|
||||||
|
// Christian Ohlsson
|
||||||
|
// Daniel Alfredsson
|
||||||
|
// Karlstad 990907
|
||||||
|
//==================================================================
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
class Array {
|
||||||
|
private:
|
||||||
|
int size; //The size of the Array
|
||||||
|
int *buffer; //Pointer to an int-buffer
|
||||||
|
public:
|
||||||
|
~Array();
|
||||||
|
Array(const int s=0);
|
||||||
|
Array(const Array &src);
|
||||||
|
void operator = (const Array &src);
|
||||||
|
Array Array::operator +(const Array &src);
|
||||||
|
int &operator [] (int index) const;
|
||||||
|
int getSize() const;
|
||||||
|
};
|
||||||
|
//################################################################
|
||||||
|
// Constructor
|
||||||
|
// Creates a new Array
|
||||||
|
//================================================================
|
||||||
|
Array::Array(const int s=0) {
|
||||||
|
buffer = new int[s];
|
||||||
|
size= s;
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Constructor
|
||||||
|
// Copys an array
|
||||||
|
//================================================================
|
||||||
|
Array::Array(const Array &src) {
|
||||||
|
size = src.size;
|
||||||
|
buffer = new int[size];
|
||||||
|
for(int i=0 ; i<size ; i++)
|
||||||
|
buffer[i] = src.buffer[i];
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Allows to assign a Array to another
|
||||||
|
//================================================================
|
||||||
|
void Array::operator = (const Array &src) {
|
||||||
|
delete [] buffer;
|
||||||
|
size = src.size;
|
||||||
|
buffer = new int[size];
|
||||||
|
for(int i=0 ; i<size ; i++)
|
||||||
|
buffer[i] = src.buffer[i];
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Returns a element in the Array
|
||||||
|
//================================================================
|
||||||
|
int &Array::operator [] (int index) const{
|
||||||
|
return buffer[index];
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Allows to add a Array to another
|
||||||
|
//================================================================
|
||||||
|
Array Array::operator + (const Array &src) {
|
||||||
|
Array tmp(size);
|
||||||
|
for(int i=0 ; i<size ; i++)
|
||||||
|
tmp.buffer[i] = buffer[i] + src.buffer[i];
|
||||||
|
return (tmp);
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Destructor
|
||||||
|
// Deallocates memory, used by the Array
|
||||||
|
//================================================================
|
||||||
|
Array::~Array() {
|
||||||
|
delete [] buffer;
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Allows input in the Array, using STDIN
|
||||||
|
//================================================================
|
||||||
|
istream &operator >> (istream &is, Array &v) {
|
||||||
|
for(int l=0 ; l<v.getSize() ; l++)
|
||||||
|
is >> v[l];
|
||||||
|
return is;
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Prints out an Array, using STDOUT
|
||||||
|
//================================================================
|
||||||
|
ostream &operator << (ostream &os, const Array &v) {
|
||||||
|
for(int k=0 ; k<v.getSize() ; k++)
|
||||||
|
os << v[k];
|
||||||
|
return os;
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Function getSize()
|
||||||
|
// Returns the size of the Array
|
||||||
|
//================================================================
|
||||||
|
int Array::getSize() const{
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
BIN
Lab1/lab_one
Normal file
BIN
Lab1/lab_one
Normal file
Binary file not shown.
16
Lab1/matrix.cpp
Normal file
16
Lab1/matrix.cpp
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
//matrix.cpp
|
||||||
|
#include "matrix.h"
|
||||||
|
int main() {
|
||||||
|
Array a (2);
|
||||||
|
Matrix b (2,2);
|
||||||
|
cout << "input Array: " << endl;
|
||||||
|
cin>>a;
|
||||||
|
cout << "input Matrix: " << endl;
|
||||||
|
cin >>b;
|
||||||
|
//b[2] = a;
|
||||||
|
b[1] = a + b[1];
|
||||||
|
Matrix c(b);
|
||||||
|
b[1][1] = a[1];
|
||||||
|
cout << "c:\n" <<c << "a:\n"<< a << "\nb:\n" << b;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
111
Lab1/matrix.h
Normal file
111
Lab1/matrix.h
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
//##################################################################
|
||||||
|
// LAB 1
|
||||||
|
// ADVANCED PROGRAMMING IN C++
|
||||||
|
// MATRIX/ARRAY WITH DEEP COPY
|
||||||
|
//==================================================================
|
||||||
|
// matrix.h
|
||||||
|
// CLASS IMPLEMENTATION AND DEFINITION FOR
|
||||||
|
// THE MATRIX
|
||||||
|
// Christian Ohlsson
|
||||||
|
// Daniel Alfredsson
|
||||||
|
// Karlstad 990907
|
||||||
|
//==================================================================
|
||||||
|
|
||||||
|
#include "array.h"
|
||||||
|
class Matrix {
|
||||||
|
private:
|
||||||
|
int cols, rows; //# of cols and rows in the matrix
|
||||||
|
Array *myMatrix; //Array-pointer to our matrix
|
||||||
|
public:
|
||||||
|
void Matrix::operator = (const Matrix &src);
|
||||||
|
int getCols() const { return cols;};
|
||||||
|
int getRows() const { return rows;};
|
||||||
|
Array &Matrix::operator [] (int index) const;
|
||||||
|
Matrix(const Matrix &src);
|
||||||
|
Matrix(int cols, int rows);
|
||||||
|
~Matrix();
|
||||||
|
|
||||||
|
};
|
||||||
|
//################################################################
|
||||||
|
// Constructor
|
||||||
|
// Creates a new Matrix with 'c' columns and 'r' rows
|
||||||
|
//================================================================
|
||||||
|
Matrix::Matrix(int c, int r) {
|
||||||
|
myMatrix = new Array[r];
|
||||||
|
for(int i=0; i < c; i++)
|
||||||
|
myMatrix[i] = Array(c);
|
||||||
|
cols = c;
|
||||||
|
rows = r;
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Constructor
|
||||||
|
// Creates a new copy of a Matrix
|
||||||
|
//================================================================
|
||||||
|
Matrix::Matrix(const Matrix &src) {
|
||||||
|
cols = src.cols;
|
||||||
|
rows = src.rows;
|
||||||
|
int i,j;
|
||||||
|
myMatrix = new Array[rows];
|
||||||
|
for(i=0; i < cols; i++)
|
||||||
|
myMatrix[i] = Array(cols);
|
||||||
|
for(i=0 ; i < cols ; i++)
|
||||||
|
for(j=0 ; j < rows ; j++)
|
||||||
|
myMatrix[i][j] = src.myMatrix[i][j];
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Destructor
|
||||||
|
// De-allocates memory for a Matrix
|
||||||
|
//================================================================
|
||||||
|
Matrix::~Matrix() {
|
||||||
|
delete [] myMatrix;
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Sets one Matrix equal to another
|
||||||
|
//================================================================
|
||||||
|
void Matrix::operator = (const Matrix &src) {
|
||||||
|
delete [] myMatrix;
|
||||||
|
cols = src.cols;
|
||||||
|
rows = src.rows;
|
||||||
|
myMatrix = new Array[rows];
|
||||||
|
for(int i=0 ; i<cols ; i++)
|
||||||
|
for(int j=0 ; j<rows ; j++)
|
||||||
|
myMatrix[i][j] = src.myMatrix[i][j];
|
||||||
|
}//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Reyurns a row in a Matrix, and checks for bad indexes.
|
||||||
|
//================================================================
|
||||||
|
Array &Matrix::operator [] (int index) const {
|
||||||
|
if(index>=rows || index<0) {
|
||||||
|
cout <<"\nIndex out of bounds! Quitting...\n";
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return myMatrix[index];
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Allow inserts in a Matrix, using STDIN
|
||||||
|
//================================================================
|
||||||
|
istream &operator >> (istream &is, Matrix &v) {
|
||||||
|
int i,j;
|
||||||
|
for(i=0 ; i<v.getCols() ; i++)
|
||||||
|
for (j=0 ; j<v.getRows() ; j++)
|
||||||
|
is >> v[i][j];
|
||||||
|
return is;
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Prints the Matrix on the screen, using STDUOT
|
||||||
|
//================================================================
|
||||||
|
ostream &operator << (ostream &os, const Matrix &v) {
|
||||||
|
int i,j;
|
||||||
|
for(i=0 ; i < v.getCols() ; i++)
|
||||||
|
for(j=0 ; j < v.getRows() ; j++)
|
||||||
|
os << i << "," << j<< " = " << v[i][j] << "\n";
|
||||||
|
return os;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
12
Lab1/read_me
Normal file
12
Lab1/read_me
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
Avancerad programmering i C++
|
||||||
|
|
||||||
|
==========================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Denna lab skapades under Linux med
|
||||||
|
|
||||||
|
kommandot:
|
||||||
|
|
||||||
|
g++ -Wall -o lab_one *.cpp
|
||||||
|
|
||||||
130
Lab2/array.h
Normal file
130
Lab2/array.h
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
//##################################################################
|
||||||
|
// LAB 2
|
||||||
|
// ADVANCED PROGRAMMING IN C++
|
||||||
|
// MATRIX/ARRAY WITH SHALLOW COPY
|
||||||
|
//==================================================================
|
||||||
|
// array.h
|
||||||
|
// CLASS IMPLEMENTATION AND DEFINITION FOR
|
||||||
|
// THE ARRAY
|
||||||
|
// Christian Ohlsson
|
||||||
|
// Daniel Alfredsson
|
||||||
|
// Karlstad 990907
|
||||||
|
//==================================================================
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
#include "contract.h"
|
||||||
|
class Array {
|
||||||
|
private:
|
||||||
|
Contract *myContract;
|
||||||
|
public:
|
||||||
|
~Array();
|
||||||
|
Array(const int s=0);
|
||||||
|
Array(const Array &src);
|
||||||
|
const Array operator + (const Array &src);
|
||||||
|
void operator = (const Array &src);
|
||||||
|
const int &operator [] (int index) const;
|
||||||
|
int &operator [] (int index);
|
||||||
|
int getSize() const;
|
||||||
|
};
|
||||||
|
//################################################################
|
||||||
|
// Constructor
|
||||||
|
// Creates a new Array
|
||||||
|
//================================================================
|
||||||
|
Array::Array(const int s) {
|
||||||
|
myContract = new Contract();
|
||||||
|
myContract->size = s;
|
||||||
|
myContract->buffer = new int[s];
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Constructor
|
||||||
|
// Copys an array
|
||||||
|
//================================================================
|
||||||
|
Array::Array(const Array &src) {
|
||||||
|
src.myContract->owners++;
|
||||||
|
myContract = src.myContract;
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Allows to assign a Array to another
|
||||||
|
//================================================================
|
||||||
|
void Array::operator = (const Array &src) {
|
||||||
|
if(myContract->owners>1) {
|
||||||
|
myContract->owners--;
|
||||||
|
myContract = new Contract;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
delete [] myContract->buffer;
|
||||||
|
myContract->size = src.myContract->size;
|
||||||
|
myContract->buffer = new int[src.myContract->size];
|
||||||
|
for(int i=0 ; i<src.myContract->size ; i++)
|
||||||
|
myContract->buffer[i] = src.myContract->buffer[i];
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Returns a element in the Array
|
||||||
|
//================================================================
|
||||||
|
const int &Array::operator [] (int index) const{
|
||||||
|
return (myContract->buffer[index]);
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Returns a element in the Array
|
||||||
|
//================================================================
|
||||||
|
int &Array::operator [] (int index) {
|
||||||
|
if(myContract->owners>1) {
|
||||||
|
myContract->owners--;
|
||||||
|
Contract *tmp = new Contract;
|
||||||
|
tmp->size = myContract->size;
|
||||||
|
tmp->buffer = new int[tmp->size];
|
||||||
|
for(int i=0 ; i<tmp->size ; i++)
|
||||||
|
tmp->buffer[i] = myContract->buffer[i];
|
||||||
|
}
|
||||||
|
return (myContract->buffer[index]);
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Allows to add a Array to another
|
||||||
|
//================================================================
|
||||||
|
const Array Array::operator + (const Array &src) {
|
||||||
|
Array tmp(myContract->size);
|
||||||
|
for(int i=0 ; i<myContract->size ; i++)
|
||||||
|
tmp.myContract->buffer[i] = myContract->buffer[i] + src.myContract->buffer[i];
|
||||||
|
return (tmp);
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Destructor
|
||||||
|
// Deallocates memory, used by the Array
|
||||||
|
//================================================================
|
||||||
|
Array::~Array() {
|
||||||
|
myContract->owners--;
|
||||||
|
if(myContract->owners == 0) {
|
||||||
|
delete [] myContract->buffer;
|
||||||
|
delete myContract;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Allows input in the Array, using STDIN
|
||||||
|
//================================================================
|
||||||
|
istream &operator >> (istream &is, Array &a) {
|
||||||
|
for(int l=0 ; l<a.getSize() ; l++)
|
||||||
|
is >> a[l];
|
||||||
|
return is;
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Prints out an Array, using STDOUT
|
||||||
|
//================================================================
|
||||||
|
ostream &operator << (ostream &os, const Array &a) {
|
||||||
|
for(int k=0 ; k<a.getSize() ; k++)
|
||||||
|
os << a[k];
|
||||||
|
return os;
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Function getSize()
|
||||||
|
// Returns the size of the Array
|
||||||
|
//================================================================
|
||||||
|
int Array::getSize() const{
|
||||||
|
return myContract->size;
|
||||||
|
}
|
||||||
|
|
||||||
26
Lab2/contract.h
Normal file
26
Lab2/contract.h
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
//##################################################################
|
||||||
|
|
||||||
|
// LAB 2
|
||||||
|
// ADVANCED PROGRAMMING IN C++
|
||||||
|
// MATRIX/ARRAY WITH SHALLOW COPY
|
||||||
|
//==================================================================
|
||||||
|
// contract.h
|
||||||
|
// CLASS IMPLEMENTATION AND DEFINITION FOR
|
||||||
|
// THE CONTRACT
|
||||||
|
// Christian Ohlsson
|
||||||
|
// Daniel Alfredsson
|
||||||
|
// Karlstad 990907
|
||||||
|
//==================================================================
|
||||||
|
class Contract {
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
int *buffer;
|
||||||
|
|
||||||
|
int size;
|
||||||
|
|
||||||
|
int owners;
|
||||||
|
|
||||||
|
Contract() {
|
||||||
|
|
||||||
|
size=0;
|
||||||
BIN
Lab2/lab_two
Normal file
BIN
Lab2/lab_two
Normal file
Binary file not shown.
16
Lab2/matrix.cpp
Normal file
16
Lab2/matrix.cpp
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
//matrix.cpp
|
||||||
|
#include "matrix.h"
|
||||||
|
int main() {
|
||||||
|
Array a (2);
|
||||||
|
Matrix b (2,2);
|
||||||
|
cout << "input Array: " << endl;
|
||||||
|
cin>>a;
|
||||||
|
cout << "input Matrix: " << endl;
|
||||||
|
cin >>b;
|
||||||
|
//b[2] = a;
|
||||||
|
b[1] = a + b[1];
|
||||||
|
Matrix c(b);
|
||||||
|
b[1][1] = a[1];
|
||||||
|
cout << "c:\n" <<c << "a:\n"<< a << "\nb:\n" << b;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
110
Lab2/matrix.h
Normal file
110
Lab2/matrix.h
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
//##################################################################
|
||||||
|
// LAB 1
|
||||||
|
// ADVANCED PROGRAMMING IN C++
|
||||||
|
// MATRIX/ARRAY WITH DEEP COPY
|
||||||
|
//==================================================================
|
||||||
|
// matrix.h
|
||||||
|
// CLASS IMPLEMENTATION AND DEFINITION FOR
|
||||||
|
// THE MATRIX
|
||||||
|
// Christian Ohlsson
|
||||||
|
// Daniel Alfredsson
|
||||||
|
// Karlstad 990907
|
||||||
|
//==================================================================
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include "array.h"
|
||||||
|
class Matrix {
|
||||||
|
private:
|
||||||
|
int cols, rows; //# of cols and rows in the matrix
|
||||||
|
Array *myMatrix; //Array-pointer to our matrix
|
||||||
|
public:
|
||||||
|
void Matrix::operator = (const Matrix &src);
|
||||||
|
int getCols() const { return cols;};
|
||||||
|
int getRows() const { return rows;};
|
||||||
|
Array &Matrix::operator [] (int index) const;
|
||||||
|
Matrix(const Matrix &src);
|
||||||
|
Matrix(int cols, int rows);
|
||||||
|
~Matrix();
|
||||||
|
|
||||||
|
};
|
||||||
|
//################################################################
|
||||||
|
// Constructor
|
||||||
|
// Creates a new Matrix with 'c' columns and 'r' rows
|
||||||
|
//================================================================
|
||||||
|
Matrix::Matrix(int c, int r) {
|
||||||
|
myMatrix = new Array[r];
|
||||||
|
for(int i=0; i < c; i++)
|
||||||
|
myMatrix[i] = Array(c);
|
||||||
|
cols = c;
|
||||||
|
rows = r;
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Constructor
|
||||||
|
// Creates a new copy of a Matrix
|
||||||
|
//================================================================
|
||||||
|
Matrix::Matrix(const Matrix &src) {
|
||||||
|
cols = src.cols;
|
||||||
|
rows = src.rows;
|
||||||
|
int i,j;
|
||||||
|
myMatrix = new Array[rows];
|
||||||
|
for(i=0; i < cols; i++)
|
||||||
|
myMatrix[i] = Array(cols);
|
||||||
|
for(i=0 ; i < cols ; i++)
|
||||||
|
for(j=0 ; j < rows ; j++)
|
||||||
|
myMatrix[i][j] = src.myMatrix[i][j];
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Destructor
|
||||||
|
// De-allocates memory for a Matrix
|
||||||
|
//================================================================
|
||||||
|
Matrix::~Matrix() {
|
||||||
|
delete [] myMatrix;
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Sets one Matrix equal to another
|
||||||
|
//================================================================
|
||||||
|
void Matrix::operator = (const Matrix &src) {
|
||||||
|
delete [] myMatrix;
|
||||||
|
cols = src.cols;
|
||||||
|
rows = src.rows;
|
||||||
|
myMatrix = new Array[rows];
|
||||||
|
for(int i=0 ; i<cols ; i++)
|
||||||
|
for(int j=0 ; j<rows ; j++)
|
||||||
|
myMatrix[i][j] = src.myMatrix[i][j];
|
||||||
|
}//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Reyurns a row in a Matrix, and checks for bad indexes.
|
||||||
|
//================================================================
|
||||||
|
Array &Matrix::operator [] (int index) const {
|
||||||
|
if(index>=rows || index<0) {
|
||||||
|
cout <<"\nIndex out of bounds! Quitting...\n";
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
return myMatrix[index];
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Allow inserts in a Matrix, using STDIN
|
||||||
|
//================================================================
|
||||||
|
istream &operator >> (istream &is, Matrix &v) {
|
||||||
|
int i,j;
|
||||||
|
for(i=0 ; i<v.getCols() ; i++)
|
||||||
|
for (j=0 ; j<v.getRows() ; j++)
|
||||||
|
is >> v[i][j];
|
||||||
|
return is;
|
||||||
|
}
|
||||||
|
//################################################################
|
||||||
|
// Operator overload
|
||||||
|
// Prints the Matrix on the screen, using STDUOT
|
||||||
|
//================================================================
|
||||||
|
ostream &operator << (ostream &os, const Matrix &v) {
|
||||||
|
int i,j;
|
||||||
|
for(i=0 ; i < v.getCols() ; i++)
|
||||||
|
for(j=0 ; j < v.getRows() ; j++)
|
||||||
|
os << i << "," << j<< " = " << v[i][j] << "\n";
|
||||||
|
return os;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
13
Lab2/read_me
Normal file
13
Lab2/read_me
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
Avancerad programmering i C++
|
||||||
|
|
||||||
|
==========================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Denna lab skapades under Linux med
|
||||||
|
|
||||||
|
kommandot:
|
||||||
|
|
||||||
|
g++ -Wall -o lab_two *.cpp
|
||||||
|
|
||||||
|
|
||||||
15
Lab3/atm.h
Normal file
15
Lab3/atm.h
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
//atm.h
|
||||||
|
|
||||||
|
#ifndef __ATM_H__
|
||||||
|
|
||||||
|
#define __ATM_H__
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "cashcard.h"
|
||||||
|
|
||||||
|
class ATM {
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
double withDraw(Cashcard &myCard, double money) {
|
||||||
14
Lab3/bank.cpp
Normal file
14
Lab3/bank.cpp
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
//bank.cpp
|
||||||
|
|
||||||
|
#ifndef __BANK_CPP__
|
||||||
|
|
||||||
|
#define __BANK_CPP__
|
||||||
|
|
||||||
|
#include "person.h"
|
||||||
|
|
||||||
|
#include "bank.h"
|
||||||
|
|
||||||
|
Cashcard* Bank::makeCashcard(Passport &P) {
|
||||||
|
|
||||||
|
if(&P) {
|
||||||
|
|
||||||
16
Lab3/bank.h
Normal file
16
Lab3/bank.h
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
//bank.h
|
||||||
|
|
||||||
|
#ifndef __BANK_H__
|
||||||
|
|
||||||
|
#define __BANK_H__
|
||||||
|
|
||||||
|
#include "passport.h"
|
||||||
|
|
||||||
|
#include "person.h"
|
||||||
|
|
||||||
|
class Bank {
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
Bank(){}
|
||||||
|
|
||||||
19
Lab3/cashcard.h
Normal file
19
Lab3/cashcard.h
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
//cashcard.h
|
||||||
|
|
||||||
|
#ifndef __CASHCARD_H__
|
||||||
|
|
||||||
|
#define __CASHCARD_H__
|
||||||
|
|
||||||
|
#include "name.h"
|
||||||
|
|
||||||
|
class ATM;
|
||||||
|
|
||||||
|
class Bank;
|
||||||
|
|
||||||
|
class Cashcard {
|
||||||
|
|
||||||
|
friend ATM;
|
||||||
|
|
||||||
|
friend Bank;
|
||||||
|
|
||||||
|
private:
|
||||||
17
Lab3/main.cpp
Normal file
17
Lab3/main.cpp
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
//main.cpp
|
||||||
|
|
||||||
|
#include "person.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
|
||||||
|
Person myPerson(Name("Kalle !"), 20);
|
||||||
|
|
||||||
|
Police myStation;
|
||||||
|
|
||||||
|
Bank myBank;
|
||||||
|
|
||||||
|
ATM myATM;
|
||||||
|
|
||||||
|
if(myPerson.getPassport(myStation)) //Person gets a passport
|
||||||
49
Lab3/name.cpp
Normal file
49
Lab3/name.cpp
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
//name.cpp
|
||||||
|
|
||||||
|
#ifndef __NAME_CPP__
|
||||||
|
|
||||||
|
#define __NAME_CPP__
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "name.h"
|
||||||
|
|
||||||
|
//##################################################
|
||||||
|
|
||||||
|
// Name
|
||||||
|
|
||||||
|
// Puts name into a buffer
|
||||||
|
|
||||||
|
//==================================================
|
||||||
|
|
||||||
|
Name::Name(char *txt) {
|
||||||
|
|
||||||
|
buff = new char[strlen(txt) + 1];
|
||||||
|
|
||||||
|
strcpy(buff, txt);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//##################################################
|
||||||
|
|
||||||
|
// Destructor
|
||||||
|
|
||||||
|
// Delets buffer
|
||||||
|
|
||||||
|
//==================================================
|
||||||
|
|
||||||
|
Name::~Name() {
|
||||||
|
|
||||||
|
delete [] buff;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//##################################################
|
||||||
|
|
||||||
|
// Operator overload
|
||||||
|
|
||||||
|
// Deletes buffer and makes a new one
|
||||||
14
Lab3/name.h
Normal file
14
Lab3/name.h
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
//name.h
|
||||||
|
|
||||||
|
#ifndef __NAME_H__
|
||||||
|
|
||||||
|
#define __NAME_H__
|
||||||
|
|
||||||
|
class Name {
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
char* buff;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
14
Lab3/passport.h
Normal file
14
Lab3/passport.h
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
//passport.h
|
||||||
|
|
||||||
|
#ifndef __PASSPORT_H__
|
||||||
|
|
||||||
|
#define __PASSPORT_H__
|
||||||
|
|
||||||
|
#include "name.h"
|
||||||
|
|
||||||
|
class Passport {
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
Name myName; //The name in the passport
|
||||||
|
|
||||||
54
Lab3/person.h
Normal file
54
Lab3/person.h
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
//person.h
|
||||||
|
|
||||||
|
#ifndef __PERSON_H__
|
||||||
|
|
||||||
|
#define __PERSON_H__
|
||||||
|
|
||||||
|
#include "police.h"
|
||||||
|
|
||||||
|
#include "atm.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include "cashcard.h"
|
||||||
|
|
||||||
|
#include "bank.h"
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Person {
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
Name myName;
|
||||||
|
|
||||||
|
int myAge;
|
||||||
|
|
||||||
|
double cash;
|
||||||
|
|
||||||
|
Passport *myPass;
|
||||||
|
|
||||||
|
Cashcard *myCard;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
Person(Name &N, int &age):myName(N) { //Constructor
|
||||||
|
|
||||||
|
myPass=NULL;
|
||||||
|
|
||||||
|
myCard=NULL;
|
||||||
|
|
||||||
|
cash=0;
|
||||||
|
|
||||||
|
myAge=age;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
~Person(){}
|
||||||
|
|
||||||
|
const Name &getName() { return myName; }
|
||||||
|
|
||||||
|
int getPassport(Police &myStation) {
|
||||||
|
|
||||||
11
Lab3/police.cpp
Normal file
11
Lab3/police.cpp
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
//police.cpp
|
||||||
|
|
||||||
|
#ifndef __POLICE_CPP__
|
||||||
|
|
||||||
|
#define __POLICE_CPP__
|
||||||
|
|
||||||
|
#include "person.h"
|
||||||
|
|
||||||
|
#include "police.h"
|
||||||
|
|
||||||
|
Passport* Police::makePassport(Person &P) {
|
||||||
14
Lab3/police.h
Normal file
14
Lab3/police.h
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
//police.h
|
||||||
|
|
||||||
|
#ifndef __POLICE_H__
|
||||||
|
|
||||||
|
#define __POLICE_H__
|
||||||
|
|
||||||
|
#include "passport.h"
|
||||||
|
|
||||||
|
#include "person.h"
|
||||||
|
|
||||||
|
class Person;
|
||||||
|
|
||||||
|
class Police {
|
||||||
|
|
||||||
13
Lab3/read_me
Normal file
13
Lab3/read_me
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
Avancerad programmering i C++
|
||||||
|
|
||||||
|
==========================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Denna lab skapades med Borland C++ 5.0
|
||||||
|
|
||||||
|
Lägg alla .cpp i projektet.
|
||||||
|
|
||||||
|
Kompilera för EasyWin.
|
||||||
|
|
||||||
|
|
||||||
7079
Lab4/RoseModel.mdl
Normal file
7079
Lab4/RoseModel.mdl
Normal file
File diff suppressed because it is too large
Load Diff
106
Lab4/circle.cpp
Normal file
106
Lab4/circle.cpp
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Circle; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Circle.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Circle
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Circle.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class Circle
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Circle::Circle()
|
||||||
|
|
||||||
|
//## begin Circle::Circle%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Circle::Circle%.hasinit
|
||||||
|
|
||||||
|
//## begin Circle::Circle%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Circle::Circle%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Circle::Circle%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Circle::Circle%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Circle::Circle (int x, int y, int r, Color color)
|
||||||
|
|
||||||
|
//## begin Circle::Circle%939623931.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Circle::Circle%939623931.hasinit
|
||||||
|
|
||||||
|
//## begin Circle::Circle%939623931.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Circle::Circle%939623931.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Circle::Circle%939623931.body preserve=yes
|
||||||
|
|
||||||
|
setColor(color);
|
||||||
|
|
||||||
|
center.setx(x);
|
||||||
|
|
||||||
|
center.sety(y);
|
||||||
|
|
||||||
|
radius=r;
|
||||||
|
|
||||||
|
//## end Circle::Circle%939623931.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Circle::~Circle()
|
||||||
|
|
||||||
108
Lab4/circle.h
Normal file
108
Lab4/circle.h
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Circle; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Circle.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Circle_h
|
||||||
|
|
||||||
|
#define Circle_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Point
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Point.h"
|
||||||
|
|
||||||
|
// Figure
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Figure.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Circle
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Circle : public Figure //## Inherits: <unnamed>
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Circle.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end Circle.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
Circle();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Constructors (specified)
|
||||||
|
|
||||||
|
//## Operation: Circle%939623931
|
||||||
|
|
||||||
|
Circle (int x, int y, int r, Color color);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~Circle();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (specified)
|
||||||
|
|
||||||
|
//## Operation: draw%937398670
|
||||||
|
|
||||||
|
void draw (Graphics &g);
|
||||||
|
|
||||||
87
Lab4/cmplxfgr.cpp
Normal file
87
Lab4/cmplxfgr.cpp
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: ComplexFigure; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\CmplxFgr.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ComplexFigure
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\CmplxFgr.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Graphic\Graphics.h"
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class ComplexFigure
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ComplexFigure::ComplexFigure()
|
||||||
|
|
||||||
|
//## begin ComplexFigure::ComplexFigure%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end ComplexFigure::ComplexFigure%.hasinit
|
||||||
|
|
||||||
|
//## begin ComplexFigure::ComplexFigure%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end ComplexFigure::ComplexFigure%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin ComplexFigure::ComplexFigure%.body preserve=yes
|
||||||
|
|
||||||
|
//## end ComplexFigure::ComplexFigure%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ComplexFigure::~ComplexFigure()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin ComplexFigure::~ComplexFigure%.body preserve=yes
|
||||||
|
|
||||||
|
//## end ComplexFigure::~ComplexFigure%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
100
Lab4/cmplxfgr.h
Normal file
100
Lab4/cmplxfgr.h
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: ComplexFigure; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\CmplxFgr.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef CmplxFgr_h
|
||||||
|
|
||||||
|
#define CmplxFgr_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Figure
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Figure.h"
|
||||||
|
|
||||||
|
// FList
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\FList.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: ComplexFigure
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class ComplexFigure : public Figure //## Inherits: <unnamed>
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin ComplexFigure.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end ComplexFigure.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
ComplexFigure();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~ComplexFigure();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (specified)
|
||||||
|
|
||||||
|
//## Operation: draw%939104770
|
||||||
|
|
||||||
|
void draw (Graphics &g);
|
||||||
|
|
||||||
61
Lab4/fgrhlder.cpp
Normal file
61
Lab4/fgrhlder.cpp
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: FigureHolder; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\FgrHlder.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// FigureHolder
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\FgrHlder.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class FigureHolder
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FigureHolder::FigureHolder()
|
||||||
|
|
||||||
|
//## begin FigureHolder::FigureHolder%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end FigureHolder::FigureHolder%.hasinit
|
||||||
|
|
||||||
|
//## begin FigureHolder::FigureHolder%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end FigureHolder::FigureHolder%.initialization
|
||||||
94
Lab4/fgrhlder.h
Normal file
94
Lab4/fgrhlder.h
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: FigureHolder; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\FgrHlder.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef FgrHlder_h
|
||||||
|
|
||||||
|
#define FgrHlder_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Figure
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Figure.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: FigureHolder
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class FigureHolder
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin FigureHolder.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
FigureHolder(Figure& f)
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
myFigure = f.clone();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//## end FigureHolder.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
FigureHolder();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
68
Lab4/figure.cpp
Normal file
68
Lab4/figure.cpp
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Figure; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Figure.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Figure
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Figure.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class Figure
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Figure::Figure()
|
||||||
|
|
||||||
|
//## begin Figure::Figure%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Figure::Figure%.hasinit
|
||||||
|
|
||||||
|
//## begin Figure::Figure%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Figure::Figure%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Figure::Figure%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Figure::Figure%.body
|
||||||
|
|
||||||
103
Lab4/figure.h
Normal file
103
Lab4/figure.h
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Figure; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Figure.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Figure_h
|
||||||
|
|
||||||
|
#define Figure_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Graphics
|
||||||
|
|
||||||
|
#include "Graphic\Graphics.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Figure; Abstract
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Uses: <unnamed>; Graphics { -> }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Figure
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Figure.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end Figure.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
Figure();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~Figure();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (specified)
|
||||||
|
|
||||||
|
//## Operation: draw%937398679
|
||||||
|
|
||||||
|
virtual void draw (Graphics &g) = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Operation: erase%937398680
|
||||||
30
Lab4/flist.cpp
Normal file
30
Lab4/flist.cpp
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: FList; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\FList.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
48
Lab4/flist.h
Normal file
48
Lab4/flist.h
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: FList; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\FList.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef FList_h
|
||||||
|
|
||||||
|
#define FList_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// List
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\List.h"
|
||||||
|
|
||||||
|
// FigureHolder
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\FgrHlder.h"
|
||||||
|
|
||||||
71
Lab4/graphic/dbggrphc.cpp
Normal file
71
Lab4/graphic/dbggrphc.cpp
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: DebugGraphics; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Graphic
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Graphic\DbgGrphc.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// DebugGraphics
|
||||||
|
|
||||||
|
#include "Graphic\DbgGrphc.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class DebugGraphics
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DebugGraphics::DebugGraphics()
|
||||||
|
|
||||||
|
//## begin DebugGraphics::DebugGraphics%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end DebugGraphics::DebugGraphics%.hasinit
|
||||||
|
|
||||||
|
//## begin DebugGraphics::DebugGraphics%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end DebugGraphics::DebugGraphics%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin DebugGraphics::DebugGraphics%.body preserve=yes
|
||||||
|
|
||||||
|
//## end DebugGraphics::DebugGraphics%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
89
Lab4/graphic/dbggrphc.h
Normal file
89
Lab4/graphic/dbggrphc.h
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: DebugGraphics; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Graphic
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Graphic\DbgGrphc.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef DbgGrphc_h
|
||||||
|
|
||||||
|
#define DbgGrphc_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Graphics
|
||||||
|
|
||||||
|
#include "Graphic\Graphics.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Graphic\DbgGrphc.h"
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: DebugGraphics
|
||||||
|
|
||||||
|
//## Category: Graphic
|
||||||
|
|
||||||
|
//## Subsystem: Graphic
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class DebugGraphics : public Graphics //## Inherits: <unnamed>
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin DebugGraphics.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end DebugGraphics.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
DebugGraphics();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~DebugGraphics();
|
||||||
|
|
||||||
|
|
||||||
82
Lab4/graphic/graphics.cpp
Normal file
82
Lab4/graphic/graphics.cpp
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Graphics; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Graphic
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Graphic\Graphics.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Graphics
|
||||||
|
|
||||||
|
#include "Graphic\Graphics.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class Graphics
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Graphics::Graphics()
|
||||||
|
|
||||||
|
//## begin Graphics::Graphics%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Graphics::Graphics%.hasinit
|
||||||
|
|
||||||
|
//## begin Graphics::Graphics%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Graphics::Graphics%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Graphics::Graphics%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Graphics::Graphics%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Graphics::~Graphics()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Graphics::~Graphics%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Graphics::~Graphics%.body
|
||||||
|
|
||||||
95
Lab4/graphic/graphics.h
Normal file
95
Lab4/graphic/graphics.h
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Graphics; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Graphic
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Graphic\Graphics.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Graphics_h
|
||||||
|
|
||||||
|
#define Graphics_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
#include "Point.h"
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Point
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Point.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
typedef int Color;
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Graphics; Abstract
|
||||||
|
|
||||||
|
//## Category: Graphic
|
||||||
|
|
||||||
|
//## Subsystem: Graphic
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Uses: <unnamed>; Point { -> }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Graphics
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Graphics.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end Graphics.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
Graphics();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~Graphics();
|
||||||
|
|
||||||
|
|
||||||
120
Lab4/line.cpp
Normal file
120
Lab4/line.cpp
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Line; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Line.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Line
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Line.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class Line
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Line::Line (int x1, int y1, int x2, int y2, Color color)
|
||||||
|
|
||||||
|
//## begin Line::Line%939623930.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Line::Line%939623930.hasinit
|
||||||
|
|
||||||
|
//## begin Line::Line%939623930.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Line::Line%939623930.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Line::Line%939623930.body preserve=yes
|
||||||
|
|
||||||
|
setColor(color);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Point start, end;
|
||||||
|
|
||||||
|
start.setx(x1);
|
||||||
|
|
||||||
|
start.sety(y1);
|
||||||
|
|
||||||
|
end.setx(x2);
|
||||||
|
|
||||||
|
end.sety(y2);
|
||||||
|
|
||||||
|
myPoints.add(myPoints.getSize(), start);
|
||||||
|
|
||||||
|
myPoints.add(myPoints.getSize(), end);
|
||||||
|
|
||||||
|
//## end Line::Line%939623930.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Line::~Line()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Line::~Line%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Line::~Line%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (implementation)
|
||||||
|
|
||||||
|
void Line::draw (Graphics &g)
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Line::draw%937398668.body preserve=yes
|
||||||
|
|
||||||
|
Point start,end;
|
||||||
|
|
||||||
101
Lab4/line.h
Normal file
101
Lab4/line.h
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Line; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Line.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Line_h
|
||||||
|
|
||||||
|
#define Line_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// pList
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\pList.h"
|
||||||
|
|
||||||
|
// Figure
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Figure.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Line
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Line : public Figure //## Inherits: <unnamed>
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Line.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end Line.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (specified)
|
||||||
|
|
||||||
|
//## Operation: Line%939623930
|
||||||
|
|
||||||
|
Line (int x1, int y1, int x2, int y2, Color color);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~Line();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (specified)
|
||||||
|
|
||||||
|
//## Operation: draw%937398668
|
||||||
|
|
||||||
|
void draw (Graphics &g);
|
||||||
136
Lab4/list.cpp
Normal file
136
Lab4/list.cpp
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: List; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\List.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// List
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\List.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Parameterized Class List
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
|
||||||
|
List<T>::List()
|
||||||
|
|
||||||
|
//## begin List::List%.hasinit preserve=no
|
||||||
|
|
||||||
|
: size(0)
|
||||||
|
|
||||||
|
//## end List::List%.hasinit
|
||||||
|
|
||||||
|
//## begin List::List%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end List::List%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin List::List%.body preserve=yes
|
||||||
|
|
||||||
|
head=NULL;
|
||||||
|
|
||||||
|
//## end List::List%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
|
||||||
|
List<T>::~List()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin List::~List%.body preserve=yes
|
||||||
|
|
||||||
|
delete head;
|
||||||
|
|
||||||
|
//## end List::~List%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (implementation)
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
|
||||||
|
void List<T>::add (int position, T item)
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin List::add%937398674.body preserve=yes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
size++;
|
||||||
|
|
||||||
|
Node<T>* newPtr = new Node<T>(item);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (position==0) {
|
||||||
|
|
||||||
|
newPtr->next=head;
|
||||||
|
|
||||||
|
head=newPtr;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
|
||||||
|
Node<T>* prev=head;
|
||||||
|
|
||||||
111
Lab4/list.h
Normal file
111
Lab4/list.h
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: List; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\List.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef List_h
|
||||||
|
|
||||||
|
#define List_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Node
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Node.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: List; Parameterized Class
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
|
||||||
|
class List
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin List.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end List.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
List();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~List();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (specified)
|
||||||
|
|
||||||
|
//## Operation: add%937398674
|
||||||
|
|
||||||
|
// Denna sätter in grejjer i listan...
|
||||||
|
|
||||||
|
void add (int position, T item);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Operation: del%937398675
|
||||||
|
|
||||||
|
void del (int position);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Operation: isEmpty%937398676
|
||||||
|
|
||||||
|
bool isEmpty ();
|
||||||
61
Lab4/main.cpp
Normal file
61
Lab4/main.cpp
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
//#
|
||||||
|
|
||||||
|
//# main.c
|
||||||
|
|
||||||
|
//#
|
||||||
|
|
||||||
|
//# =======================================================
|
||||||
|
|
||||||
|
//# Lab i Avacerad C++
|
||||||
|
|
||||||
|
//# 4. Figures
|
||||||
|
|
||||||
|
//#
|
||||||
|
|
||||||
|
//#
|
||||||
|
|
||||||
|
//# Christian Ohlsson
|
||||||
|
|
||||||
|
//# Daniel Alfredsson
|
||||||
|
|
||||||
|
//# Karlstads universitet
|
||||||
|
|
||||||
|
//# 991013
|
||||||
|
|
||||||
|
//# =======================================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
|
||||||
|
#include "Graphic\Graphics.h"
|
||||||
|
|
||||||
|
#include "line.h"
|
||||||
|
|
||||||
|
#include "rectngle.h"
|
||||||
|
|
||||||
|
#include "circle.h"
|
||||||
|
|
||||||
|
#include "flist.h"
|
||||||
|
|
||||||
|
#include "CmplxFgr.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void main(void) {
|
||||||
|
|
||||||
|
ComplexFigure cf;
|
||||||
|
|
||||||
|
FList myList;
|
||||||
|
|
||||||
|
Graphics g;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Line l(0,0,0,10, 9);
|
||||||
|
|
||||||
|
l.add(20,20);
|
||||||
|
|
||||||
|
|
||||||
66
Lab4/node.cpp
Normal file
66
Lab4/node.cpp
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Node; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Node.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Node
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Node.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Parameterized Class Node
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
|
||||||
|
Node<T>::Node()
|
||||||
|
|
||||||
|
//## begin Node::Node%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Node::Node%.hasinit
|
||||||
|
|
||||||
|
//## begin Node::Node%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Node::Node%.initialization
|
||||||
|
|
||||||
97
Lab4/node.h
Normal file
97
Lab4/node.h
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Node; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Node.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Node_h
|
||||||
|
|
||||||
|
#define Node_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Node; Parameterized Class
|
||||||
|
|
||||||
|
// detta är lite dokumentation
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
|
||||||
|
class Node
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Node.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
Node(T theData):data(theData){next = (Node<T>*)0;}
|
||||||
|
|
||||||
|
//## end Node.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
Node();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~Node();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Additional Public Declarations
|
||||||
|
|
||||||
|
//## begin Node.public preserve=yes
|
||||||
|
|
||||||
|
Node *next;
|
||||||
30
Lab4/plist.cpp
Normal file
30
Lab4/plist.cpp
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: pList; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\pList.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
48
Lab4/plist.h
Normal file
48
Lab4/plist.h
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: pList; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\pList.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef pList_h
|
||||||
|
|
||||||
|
#define pList_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// List
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\List.h"
|
||||||
|
|
||||||
|
// Point
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Point.h"
|
||||||
|
|
||||||
83
Lab4/point.cpp
Normal file
83
Lab4/point.cpp
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Point; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Point.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Point
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Point.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class Point
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Point::Point()
|
||||||
|
|
||||||
|
//## begin Point::Point%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Point::Point%.hasinit
|
||||||
|
|
||||||
|
//## begin Point::Point%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Point::Point%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Point::Point%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Point::Point%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Point::~Point()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Point::~Point%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Point::~Point%.body
|
||||||
101
Lab4/point.h
Normal file
101
Lab4/point.h
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Point; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Point.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Point_h
|
||||||
|
|
||||||
|
#define Point_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Point
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Point
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Point.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end Point.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
Point();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~Point();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (specified)
|
||||||
|
|
||||||
|
//## Operation: getx%937398664
|
||||||
|
|
||||||
|
int getx ();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Operation: gety%937398665
|
||||||
|
|
||||||
|
int gety ();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Operation: setx%937398666
|
||||||
107
Lab4/rectngle.cpp
Normal file
107
Lab4/rectngle.cpp
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Rectangle; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Rectngle.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Rectangle
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Rectngle.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class Rectangle
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Rectangle::Rectangle()
|
||||||
|
|
||||||
|
//## begin Rectangle::Rectangle%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Rectangle::Rectangle%.hasinit
|
||||||
|
|
||||||
|
//## begin Rectangle::Rectangle%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Rectangle::Rectangle%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Rectangle::Rectangle%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Rectangle::Rectangle%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Rectangle::Rectangle (int x1, int y1, int x2, int y2, Color color)
|
||||||
|
|
||||||
|
//## begin Rectangle::Rectangle%939623932.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Rectangle::Rectangle%939623932.hasinit
|
||||||
|
|
||||||
|
//## begin Rectangle::Rectangle%939623932.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Rectangle::Rectangle%939623932.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Rectangle::Rectangle%939623932.body preserve=yes
|
||||||
|
|
||||||
|
setColor(color);
|
||||||
|
|
||||||
|
leftTop.setx(x1);
|
||||||
|
|
||||||
|
leftTop.sety(y1);
|
||||||
|
|
||||||
|
rightBottom.setx(x2);
|
||||||
|
|
||||||
|
rightBottom.sety(y2);
|
||||||
|
|
||||||
|
//## end Rectangle::Rectangle%939623932.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
106
Lab4/rectngle.h
Normal file
106
Lab4/rectngle.h
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Rectangle; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Rectngle.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Rectngle_h
|
||||||
|
|
||||||
|
#define Rectngle_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Point
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Point.h"
|
||||||
|
|
||||||
|
// Figure
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab4\Rose\Figure.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Rectangle
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Rectangle : public Figure //## Inherits: <unnamed>
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Rectangle.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end Rectangle.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
Rectangle();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Constructors (specified)
|
||||||
|
|
||||||
|
//## Operation: Rectangle%939623932
|
||||||
|
|
||||||
|
Rectangle (int x1, int y1, int x2, int y2, Color color);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~Rectangle();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (specified)
|
||||||
|
|
||||||
|
//## Operation: draw%937398672
|
||||||
|
|
||||||
196
Lab4/rose.dsp
Normal file
196
Lab4/rose.dsp
Normal file
@@ -0,0 +1,196 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="Rose" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||||
|
|
||||||
|
CFG=Rose - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "Rose.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "Rose.mak" CFG="Rose - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "Rose - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "Rose - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "Rose - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Release"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x41d /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x41d /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "Rose - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Debug"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
|
||||||
|
# ADD BASE RSC /l 0x41d /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x41d /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "Rose - Win32 Release"
|
||||||
|
# Name "Rose - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Circle.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\CmplxFgr.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Graphic\DbgGrphc.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\FgrHlder.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Figure.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Flist.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Graphic\Graphics.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Line.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\main.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\pList.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Point.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Rectngle.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Circle.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\CmplxFgr.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Graphic\DbgGrphc.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\FgrHlder.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Figure.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Flist.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Graphic\Graphics.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Line.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\List.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Node.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\pList.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Point.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Rectngle.h
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
||||||
29
Lab4/rose.dsw
Normal file
29
Lab4/rose.dsw
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||||
|
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "Rose"=".\Rose.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Global:
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<3>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
118
Lab5/array.h
Normal file
118
Lab5/array.h
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
//##################################################################
|
||||||
|
|
||||||
|
// LAB 5
|
||||||
|
|
||||||
|
// ADVANCED PROGRAMMING IN C++
|
||||||
|
|
||||||
|
// MATRIX/ARRAY WITH TRY-CATCH
|
||||||
|
|
||||||
|
//==================================================================
|
||||||
|
|
||||||
|
// array.h
|
||||||
|
|
||||||
|
// CLASS IMPLEMENTATION AND DEFINITION FOR
|
||||||
|
|
||||||
|
// THE ARRAY
|
||||||
|
|
||||||
|
// Christian Ohlsson
|
||||||
|
|
||||||
|
// Daniel Alfredsson
|
||||||
|
|
||||||
|
// Karlstad 990927
|
||||||
|
|
||||||
|
//==================================================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
|
||||||
|
class Array {
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
int size; //The size of the Array
|
||||||
|
|
||||||
|
int *buffer; //Pointer to an int-buffer
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
~Array();
|
||||||
|
|
||||||
|
Array(const int s=0);
|
||||||
|
|
||||||
|
Array(const Array &src);
|
||||||
|
|
||||||
|
void operator = (const Array &src);
|
||||||
|
|
||||||
|
Array Array::operator +(const Array &src);
|
||||||
|
|
||||||
|
int &operator [] (int index) const;
|
||||||
|
|
||||||
|
int getSize() const;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
//################################################################
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
|
||||||
|
// Creates a new Array
|
||||||
|
|
||||||
|
//================================================================
|
||||||
|
|
||||||
|
Array::Array(const int s) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
buffer = new int[s];
|
||||||
|
|
||||||
|
}catch(MemoryError &e){ e.Print(); }
|
||||||
|
|
||||||
|
size= s;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//################################################################
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
|
||||||
|
// Copys an array
|
||||||
|
|
||||||
|
//================================================================
|
||||||
|
|
||||||
|
Array::Array(const Array &src) {
|
||||||
|
|
||||||
|
size = src.size;
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
buffer = new int[size];
|
||||||
|
|
||||||
|
}catch(MemoryError &e){ e.Print(); }
|
||||||
|
|
||||||
|
for(int i=0 ; i<size ; i++)
|
||||||
|
|
||||||
|
buffer[i] = src.buffer[i];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//################################################################
|
||||||
|
|
||||||
|
// Operator overload
|
||||||
|
|
||||||
|
// Allows to assign a Array to another
|
||||||
|
|
||||||
|
//================================================================
|
||||||
|
|
||||||
|
void Array::operator = (const Array &src) {
|
||||||
|
|
||||||
|
delete [] buffer;
|
||||||
|
|
||||||
|
size = src.size;
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
buffer = new int[size];
|
||||||
|
|
||||||
|
}catch(MemoryError &e){ e.Print(); }
|
||||||
|
|
||||||
44
Lab5/except.h
Normal file
44
Lab5/except.h
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
//##################################################################
|
||||||
|
|
||||||
|
// LAB 5
|
||||||
|
|
||||||
|
// ADVANCED PROGRAMMING IN C++
|
||||||
|
|
||||||
|
// MATRIX/ARRAY WITH TRY-CATCH
|
||||||
|
|
||||||
|
//==================================================================
|
||||||
|
|
||||||
|
// except.h
|
||||||
|
|
||||||
|
// CLASS IMPLEMENTATION AND DEFINITION FOR
|
||||||
|
|
||||||
|
// ALL ERRORS
|
||||||
|
|
||||||
|
// Christian Ohlsson
|
||||||
|
|
||||||
|
// Daniel Alfredsson
|
||||||
|
|
||||||
|
// Karlstad 990927
|
||||||
|
|
||||||
|
//==================================================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _EXCEPT_H_
|
||||||
|
|
||||||
|
#define _EXCEPT_H_
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Error{
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
virtual void Print() = 0;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
112
Lab5/lab5.dsp
Normal file
112
Lab5/lab5.dsp
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="Lab5" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||||
|
|
||||||
|
CFG=Lab5 - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "Lab5.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "Lab5.mak" CFG="Lab5 - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "Lab5 - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "Lab5 - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "Lab5 - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Release"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x41d /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x41d /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "Lab5 - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Debug"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||||
|
# ADD BASE RSC /l 0x41d /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x41d /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "Lab5 - Win32 Release"
|
||||||
|
# Name "Lab5 - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\matrix.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\array.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\except.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\matrix.h
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
||||||
29
Lab5/lab5.dsw
Normal file
29
Lab5/lab5.dsw
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||||
|
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "Lab5"=".\Lab5.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Global:
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<3>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
24
Lab5/matrix.cpp
Normal file
24
Lab5/matrix.cpp
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
//matrix.cpp
|
||||||
|
|
||||||
|
#include "matrix.h"
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
|
||||||
|
Array a(2); //Sätt till 3 om du vill ha SizeError
|
||||||
|
|
||||||
|
Matrix b (2,2);
|
||||||
|
|
||||||
|
cout << "input Array: " << endl;
|
||||||
|
|
||||||
|
cin>>a;
|
||||||
|
|
||||||
|
cout << "input Matrix: " << endl;
|
||||||
|
|
||||||
|
cin >>b;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
// b[2] = a; //Ta med om du vill ha RangeError
|
||||||
|
|
||||||
120
Lab5/matrix.h
Normal file
120
Lab5/matrix.h
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
//##################################################################
|
||||||
|
|
||||||
|
// LAB 5
|
||||||
|
|
||||||
|
// ADVANCED PROGRAMMING IN C++
|
||||||
|
|
||||||
|
// MATRIX/ARRAY WITH TRY-CATCH
|
||||||
|
|
||||||
|
//==================================================================
|
||||||
|
|
||||||
|
// matrix.h
|
||||||
|
|
||||||
|
// CLASS IMPLEMENTATION AND DEFINITION FOR
|
||||||
|
|
||||||
|
// THE MATRIX
|
||||||
|
|
||||||
|
// Christian Ohlsson
|
||||||
|
|
||||||
|
// Daniel Alfredsson
|
||||||
|
|
||||||
|
// Karlstad 990907
|
||||||
|
|
||||||
|
//==================================================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "except.h"
|
||||||
|
|
||||||
|
#include "array.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Matrix {
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
int cols, rows; //# of cols and rows in the matrix
|
||||||
|
|
||||||
|
Array *myMatrix; //Array-pointer to our matrix
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
void Matrix::operator = (const Matrix &src);
|
||||||
|
|
||||||
|
int getCols() const { return cols;};
|
||||||
|
|
||||||
|
int getRows() const { return rows;};
|
||||||
|
|
||||||
|
Array &Matrix::operator [] (int index) const;
|
||||||
|
|
||||||
|
Matrix(const Matrix &src);
|
||||||
|
|
||||||
|
Matrix(int cols, int rows);
|
||||||
|
|
||||||
|
~Matrix();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
//################################################################
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
|
||||||
|
// Creates a new Matrix with 'c' columns and 'r' rows
|
||||||
|
|
||||||
|
//================================================================
|
||||||
|
|
||||||
|
Matrix::Matrix(int c, int r) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
myMatrix = new Array[r];
|
||||||
|
|
||||||
|
}catch(MemoryError &e){ e.Print(); }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for(int i=0; i < c; i++)
|
||||||
|
|
||||||
|
myMatrix[i] = Array(c);
|
||||||
|
|
||||||
|
cols = c;
|
||||||
|
|
||||||
|
rows = r;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//################################################################
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
|
||||||
|
// Creates a new copy of a Matrix
|
||||||
|
|
||||||
|
//================================================================
|
||||||
|
|
||||||
|
Matrix::Matrix(const Matrix &src) {
|
||||||
|
|
||||||
|
cols = src.cols;
|
||||||
|
|
||||||
|
rows = src.rows;
|
||||||
|
|
||||||
|
int i,j;
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
myMatrix = new Array[rows];
|
||||||
|
|
||||||
|
}catch(MemoryError &e){ e.Print(); }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for(i=0; i < cols; i++)
|
||||||
|
|
||||||
|
myMatrix[i] = Array(cols);
|
||||||
|
|
||||||
|
for(i=0 ; i < cols ; i++)
|
||||||
|
|
||||||
7910
Lab6/RoseModel.mdl
Normal file
7910
Lab6/RoseModel.mdl
Normal file
File diff suppressed because it is too large
Load Diff
105
Lab6/circle.cpp
Normal file
105
Lab6/circle.cpp
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Circle; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Circle.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Circle
|
||||||
|
|
||||||
|
#include "Circle.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class Circle
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Circle::Circle()
|
||||||
|
|
||||||
|
//## begin Circle::Circle%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Circle::Circle%.hasinit
|
||||||
|
|
||||||
|
//## begin Circle::Circle%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Circle::Circle%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Circle::Circle%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Circle::Circle%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Circle::Circle (int x, int y, int r, Color color)
|
||||||
|
|
||||||
|
//## begin Circle::Circle%939623931.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Circle::Circle%939623931.hasinit
|
||||||
|
|
||||||
|
//## begin Circle::Circle%939623931.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Circle::Circle%939623931.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Circle::Circle%939623931.body preserve=yes
|
||||||
|
|
||||||
|
setColor(color);
|
||||||
|
|
||||||
|
center.setx(x);
|
||||||
|
|
||||||
|
center.sety(y);
|
||||||
|
|
||||||
|
radius=r;
|
||||||
|
|
||||||
|
//## end Circle::Circle%939623931.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Circle::~Circle()
|
||||||
116
Lab6/circle.h
Normal file
116
Lab6/circle.h
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Circle; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Circle.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Circle_h
|
||||||
|
|
||||||
|
#define Circle_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Point
|
||||||
|
|
||||||
|
#include "Point.h"
|
||||||
|
|
||||||
|
// Figure
|
||||||
|
|
||||||
|
#include "Figure.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Circle
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Circle : virtual public Figure //## Inherits: <unnamed>
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Circle.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end Circle.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
Circle();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Constructors (specified)
|
||||||
|
|
||||||
|
//## Operation: Circle%939623931
|
||||||
|
|
||||||
|
Circle (int x, int y, int r, Color color);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~Circle();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (specified)
|
||||||
|
|
||||||
|
//## Operation: draw%937398670
|
||||||
|
|
||||||
|
void draw (Graphics &g);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Operation: erase%937398671
|
||||||
|
|
||||||
|
void erase (Graphics &g);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
87
Lab6/cmplxfgr.cpp
Normal file
87
Lab6/cmplxfgr.cpp
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: ComplexFigure; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: CmplxFgr.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ComplexFigure
|
||||||
|
|
||||||
|
#include "CmplxFgr.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
#include "Graphics.h"
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class ComplexFigure
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ComplexFigure::ComplexFigure()
|
||||||
|
|
||||||
|
//## begin ComplexFigure::ComplexFigure%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end ComplexFigure::ComplexFigure%.hasinit
|
||||||
|
|
||||||
|
//## begin ComplexFigure::ComplexFigure%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end ComplexFigure::ComplexFigure%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin ComplexFigure::ComplexFigure%.body preserve=yes
|
||||||
|
|
||||||
|
//## end ComplexFigure::ComplexFigure%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ComplexFigure::~ComplexFigure()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin ComplexFigure::~ComplexFigure%.body preserve=yes
|
||||||
|
|
||||||
|
//## end ComplexFigure::~ComplexFigure%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
100
Lab6/cmplxfgr.h
Normal file
100
Lab6/cmplxfgr.h
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: ComplexFigure; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: CmplxFgr.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef CmplxFgr_h
|
||||||
|
|
||||||
|
#define CmplxFgr_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Figure
|
||||||
|
|
||||||
|
#include "Figure.h"
|
||||||
|
|
||||||
|
// FList
|
||||||
|
|
||||||
|
#include "FList.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: ComplexFigure
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class ComplexFigure : public Figure //## Inherits: <unnamed>
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin ComplexFigure.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end ComplexFigure.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
ComplexFigure();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~ComplexFigure();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (specified)
|
||||||
|
|
||||||
|
//## Operation: draw%939104770
|
||||||
|
|
||||||
|
void draw (Graphics &g);
|
||||||
|
|
||||||
71
Lab6/dbggrphc.cpp
Normal file
71
Lab6/dbggrphc.cpp
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: DebugGraphics; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: DbgGrphc.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// DebugGraphics
|
||||||
|
|
||||||
|
#include "DbgGrphc.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class DebugGraphics
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DebugGraphics::DebugGraphics()
|
||||||
|
|
||||||
|
//## begin DebugGraphics::DebugGraphics%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end DebugGraphics::DebugGraphics%.hasinit
|
||||||
|
|
||||||
|
//## begin DebugGraphics::DebugGraphics%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end DebugGraphics::DebugGraphics%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin DebugGraphics::DebugGraphics%.body preserve=yes
|
||||||
|
|
||||||
|
//## end DebugGraphics::DebugGraphics%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
89
Lab6/dbggrphc.h
Normal file
89
Lab6/dbggrphc.h
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: DebugGraphics; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: DbgGrphc.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef DbgGrphc_h
|
||||||
|
|
||||||
|
#define DbgGrphc_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Graphics
|
||||||
|
|
||||||
|
#include "Graphics.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
#include "DbgGrphc.h"
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: DebugGraphics
|
||||||
|
|
||||||
|
//## Category: Graphic
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class DebugGraphics : public Graphics //## Inherits: <unnamed>
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin DebugGraphics.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end DebugGraphics.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
DebugGraphics();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~DebugGraphics();
|
||||||
|
|
||||||
|
|
||||||
61
Lab6/fgrhlder.cpp
Normal file
61
Lab6/fgrhlder.cpp
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: FigureHolder; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: FgrHlder.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// FigureHolder
|
||||||
|
|
||||||
|
#include "FgrHlder.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class FigureHolder
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FigureHolder::FigureHolder()
|
||||||
|
|
||||||
|
//## begin FigureHolder::FigureHolder%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end FigureHolder::FigureHolder%.hasinit
|
||||||
|
|
||||||
|
//## begin FigureHolder::FigureHolder%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end FigureHolder::FigureHolder%.initialization
|
||||||
94
Lab6/fgrhlder.h
Normal file
94
Lab6/fgrhlder.h
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: FigureHolder; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: FgrHlder.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef FgrHlder_h
|
||||||
|
|
||||||
|
#define FgrHlder_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Figure
|
||||||
|
|
||||||
|
#include "Figure.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: FigureHolder
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class FigureHolder
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin FigureHolder.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
FigureHolder(Figure& f)
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
myFigure = f.clone();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//## end FigureHolder.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
FigureHolder();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
68
Lab6/figure.cpp
Normal file
68
Lab6/figure.cpp
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Figure; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Figure.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Figure
|
||||||
|
|
||||||
|
#include "Figure.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class Figure
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Figure::Figure()
|
||||||
|
|
||||||
|
//## begin Figure::Figure%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Figure::Figure%.hasinit
|
||||||
|
|
||||||
|
//## begin Figure::Figure%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Figure::Figure%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Figure::Figure%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Figure::Figure%.body
|
||||||
|
|
||||||
103
Lab6/figure.h
Normal file
103
Lab6/figure.h
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Figure; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Figure.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Figure_h
|
||||||
|
|
||||||
|
#define Figure_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Graphics
|
||||||
|
|
||||||
|
#include "Graphics.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Figure; Abstract
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Uses: <unnamed>; Graphics { -> }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Figure
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Figure.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end Figure.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
Figure();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
virtual ~Figure();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (specified)
|
||||||
|
|
||||||
|
//## Operation: draw%937398679
|
||||||
|
|
||||||
|
virtual void draw (Graphics &g) = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Operation: erase%937398680
|
||||||
30
Lab6/flist.cpp
Normal file
30
Lab6/flist.cpp
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: FList; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: FList.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
48
Lab6/flist.h
Normal file
48
Lab6/flist.h
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: FList; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: FList.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef FList_h
|
||||||
|
|
||||||
|
#define FList_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// List
|
||||||
|
|
||||||
|
#include "List.h"
|
||||||
|
|
||||||
|
// FigureHolder
|
||||||
|
|
||||||
|
#include "FgrHlder.h"
|
||||||
|
|
||||||
51
Lab6/fstream.cpp
Normal file
51
Lab6/fstream.cpp
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: fstream; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab6\fstream.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// fstream
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab6\fstream.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class fstream
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fstream::fstream()
|
||||||
75
Lab6/fstream.h
Normal file
75
Lab6/fstream.h
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: fstream; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab6\fstream.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef fstream_h
|
||||||
|
|
||||||
|
#define fstream_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: fstream
|
||||||
|
|
||||||
|
//## Category: Persist
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class fstream
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin fstream.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end fstream.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
fstream();
|
||||||
82
Lab6/graphics.cpp
Normal file
82
Lab6/graphics.cpp
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Graphics; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Graphics.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Graphics
|
||||||
|
|
||||||
|
#include "Graphics.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class Graphics
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Graphics::Graphics()
|
||||||
|
|
||||||
|
//## begin Graphics::Graphics%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Graphics::Graphics%.hasinit
|
||||||
|
|
||||||
|
//## begin Graphics::Graphics%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Graphics::Graphics%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Graphics::Graphics%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Graphics::Graphics%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Graphics::~Graphics()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Graphics::~Graphics%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Graphics::~Graphics%.body
|
||||||
|
|
||||||
95
Lab6/graphics.h
Normal file
95
Lab6/graphics.h
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Graphics; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Graphics.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Graphics_h
|
||||||
|
|
||||||
|
#define Graphics_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
#include "Point.h"
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Point
|
||||||
|
|
||||||
|
#include "Point.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
typedef int Color;
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Graphics; Abstract
|
||||||
|
|
||||||
|
//## Category: Graphic
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Uses: <unnamed>; Point { -> }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Graphics
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Graphics.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end Graphics.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
Graphics();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~Graphics();
|
||||||
|
|
||||||
|
|
||||||
15
Lab6/h.cpp
Normal file
15
Lab6/h.cpp
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
Pcircle::Pcircle(int xPos, int yPos, int _radius, Color _color)
|
||||||
|
//## begin Pcircle::Pcircle%.hasinit preserve=no
|
||||||
|
//## end Pcircle::Pcircle%.hasinit
|
||||||
|
//## begin Pcircle::Pcircle%.initialization preserve=yes
|
||||||
|
//## end Pcircle::Pcircle%.initialization
|
||||||
|
{
|
||||||
|
//## begin Pcircle::Pcircle%.body preserve=yes
|
||||||
|
// Circle::Circle(xPos, yPos, _radius, _color);
|
||||||
|
|
||||||
|
_pobj = Persistent::addType("Pcircle", new Pcircle);
|
||||||
|
set_center(xPos, yPos);
|
||||||
|
set_radius(_radius);
|
||||||
|
set_color(_color);
|
||||||
|
//## end Pcircle::Pcircle%.body
|
||||||
|
}
|
||||||
30
Lab6/instmap.cpp
Normal file
30
Lab6/instmap.cpp
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: InstMap; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: InstMap.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
49
Lab6/instmap.h
Normal file
49
Lab6/instmap.h
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: InstMap; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: InstMap.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef InstMap_h
|
||||||
|
|
||||||
|
#define InstMap_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
#include "str.h"
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// MapFake
|
||||||
|
|
||||||
|
#include "MapFake.h"
|
||||||
|
|
||||||
|
// Persistent
|
||||||
|
|
||||||
|
//#include "Prsstent.h"
|
||||||
272
Lab6/lab6.dsp
Normal file
272
Lab6/lab6.dsp
Normal file
@@ -0,0 +1,272 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="lab6" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||||
|
|
||||||
|
CFG=lab6 - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "lab6.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "lab6.mak" CFG="lab6 - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "lab6 - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "lab6 - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "lab6 - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "Release"
|
||||||
|
# PROP Intermediate_Dir "Release"
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD BASE RSC /l 0x41d /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x41d /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "lab6 - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "Debug"
|
||||||
|
# PROP Intermediate_Dir "Debug"
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /W1 /Gm /vmg /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||||
|
# ADD BASE RSC /l 0x41d /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x41d /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "lab6 - Win32 Release"
|
||||||
|
# Name "lab6 - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Circle.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\CmplxFgr.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\DbgGrphc.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\FgrHlder.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Figure.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\FList.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Graphics.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\InstMap.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Line.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\main.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Pcircle.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\PersFig.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Pline.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\pList.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Point.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Prctngle.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Prsstent.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\PsMap.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\PStream.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Rectngle.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Str.cpp
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Circle.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\CmplxFgr.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\DbgGrphc.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\FgrHlder.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Figure.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\FList.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Graphics.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\InstMap.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Line.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\List.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\MapFake.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Node.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Pcircle.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\PersFig.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Pline.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\pList.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Point.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Prctngle.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Prsstent.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\PsMap.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\PStream.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Rectngle.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\Str.h
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
||||||
29
Lab6/lab6.dsw
Normal file
29
Lab6/lab6.dsw
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||||
|
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Project: "lab6"=".\lab6.dsp" - Package Owner=<4>
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<4>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
Global:
|
||||||
|
|
||||||
|
Package=<5>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
Package=<3>
|
||||||
|
{{{
|
||||||
|
}}}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
120
Lab6/line.cpp
Normal file
120
Lab6/line.cpp
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Line; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Line.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Line
|
||||||
|
|
||||||
|
#include "Line.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class Line
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Line::Line (int x1, int y1, int x2, int y2, Color color)
|
||||||
|
|
||||||
|
//## begin Line::Line%939623930.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Line::Line%939623930.hasinit
|
||||||
|
|
||||||
|
//## begin Line::Line%939623930.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Line::Line%939623930.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Line::Line%939623930.body preserve=yes
|
||||||
|
|
||||||
|
setColor(color);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Point start, end;
|
||||||
|
|
||||||
|
start.setx(x1);
|
||||||
|
|
||||||
|
start.sety(y1);
|
||||||
|
|
||||||
|
end.setx(x2);
|
||||||
|
|
||||||
|
end.sety(y2);
|
||||||
|
|
||||||
|
myPoints.add(myPoints.getSize(), start);
|
||||||
|
|
||||||
|
myPoints.add(myPoints.getSize(), end);
|
||||||
|
|
||||||
|
//## end Line::Line%939623930.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Line::~Line()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Line::~Line%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Line::~Line%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (implementation)
|
||||||
|
|
||||||
|
void Line::draw (Graphics &g)
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Line::draw%937398668.body preserve=yes
|
||||||
|
|
||||||
|
Point start,end;
|
||||||
|
|
||||||
102
Lab6/line.h
Normal file
102
Lab6/line.h
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Line; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Line.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Line_h
|
||||||
|
|
||||||
|
#define Line_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// pList
|
||||||
|
|
||||||
|
#include "pList.h"
|
||||||
|
|
||||||
|
// Figure
|
||||||
|
|
||||||
|
#include "Figure.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Line
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Line : public Figure //## Inherits: <unnamed>
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Line.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end Line.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (specified)
|
||||||
|
|
||||||
|
//## Operation: Line%939623930
|
||||||
|
|
||||||
|
Line (int x1, int y1, int x2, int y2, Color color);
|
||||||
|
|
||||||
|
Line(){};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~Line();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (specified)
|
||||||
|
|
||||||
|
//## Operation: draw%937398668
|
||||||
|
|
||||||
136
Lab6/list.cpp
Normal file
136
Lab6/list.cpp
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: List; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: H:\WebDocs\skola\Avancerad_C++\Lab6\List.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module. preserve=no
|
||||||
|
|
||||||
|
//## end module.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// List
|
||||||
|
|
||||||
|
#include "H:\WebDocs\skola\Avancerad_C++\Lab6\List.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Parameterized Class List
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
|
||||||
|
List<T>::List()
|
||||||
|
|
||||||
|
//## begin List::List%.hasinit preserve=no
|
||||||
|
|
||||||
|
: size(0)
|
||||||
|
|
||||||
|
//## end List::List%.hasinit
|
||||||
|
|
||||||
|
//## begin List::List%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end List::List%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin List::List%.body preserve=yes
|
||||||
|
|
||||||
|
head=NULL;
|
||||||
|
|
||||||
|
//## end List::List%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
|
||||||
|
List<T>::~List()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin List::~List%.body preserve=yes
|
||||||
|
|
||||||
|
delete head;
|
||||||
|
|
||||||
|
//## end List::~List%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (implementation)
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
|
||||||
|
void List<T>::add (int position, T item)
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin List::add%937398674.body preserve=yes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
size++;
|
||||||
|
|
||||||
|
Node<T>* newPtr = new Node<T>(item);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (position==0) {
|
||||||
|
|
||||||
|
newPtr->next=head;
|
||||||
|
|
||||||
|
head=newPtr;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
|
||||||
|
Node<T>* prev=head;
|
||||||
|
|
||||||
111
Lab6/list.h
Normal file
111
Lab6/list.h
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: List; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: List.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef List_h
|
||||||
|
|
||||||
|
#define List_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Node
|
||||||
|
|
||||||
|
#include "Node.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: List; Parameterized Class
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
|
||||||
|
class List
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin List.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end List.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
List();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~List();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (specified)
|
||||||
|
|
||||||
|
//## Operation: add%937398674
|
||||||
|
|
||||||
|
// Denna sätter in grejjer i listan...
|
||||||
|
|
||||||
|
void add (int position, T item);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Operation: del%937398675
|
||||||
|
|
||||||
|
void del (int position);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Operation: isEmpty%937398676
|
||||||
|
|
||||||
|
bool isEmpty ();
|
||||||
89
Lab6/main.cpp
Normal file
89
Lab6/main.cpp
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
//#
|
||||||
|
|
||||||
|
//# main.c
|
||||||
|
|
||||||
|
//#
|
||||||
|
|
||||||
|
//# =======================================================
|
||||||
|
|
||||||
|
//# Lab i Avacerad C++
|
||||||
|
|
||||||
|
//# 4. Figures
|
||||||
|
|
||||||
|
//#
|
||||||
|
|
||||||
|
//#
|
||||||
|
|
||||||
|
//# Christian Ohlsson
|
||||||
|
|
||||||
|
//# Daniel Alfredsson
|
||||||
|
|
||||||
|
//# Karlstads universitet
|
||||||
|
|
||||||
|
//# 991013
|
||||||
|
|
||||||
|
//# =======================================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
|
||||||
|
#include "Graphics.h"
|
||||||
|
|
||||||
|
#include "line.h"
|
||||||
|
|
||||||
|
#include "rectngle.h"
|
||||||
|
|
||||||
|
#include "circle.h"
|
||||||
|
|
||||||
|
#include "flist.h"
|
||||||
|
|
||||||
|
#include "CmplxFgr.h"
|
||||||
|
|
||||||
|
#include "pstream.h"
|
||||||
|
|
||||||
|
#include "pcircle.h"
|
||||||
|
|
||||||
|
#include "prctngle.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void archive(int& i, PStream& ps){
|
||||||
|
|
||||||
|
if(ps.isSaving())
|
||||||
|
|
||||||
|
ps<<i<<endl;
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
ps>>i;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void archive(Point& i, PStream& ps){
|
||||||
|
|
||||||
|
if(ps.isSaving()){
|
||||||
|
|
||||||
|
ps<<i.getx()<<endl;
|
||||||
|
|
||||||
|
ps<<i.gety()<<endl;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
else{
|
||||||
|
|
||||||
|
int x;
|
||||||
|
|
||||||
|
ps>>x;
|
||||||
|
|
||||||
|
i.setx(x);
|
||||||
|
|
||||||
|
ps>>x;
|
||||||
|
|
||||||
|
i.sety(x);
|
||||||
|
|
||||||
|
}
|
||||||
48
Lab6/mapfake.cpp
Normal file
48
Lab6/mapfake.cpp
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
template <class KeyType, class DataType>
|
||||||
|
|
||||||
|
Mapfake<KeyType, DataType>::Mapfake(){}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template <class KeyType, class DataType>
|
||||||
|
|
||||||
|
int Mapfake<KeyType, DataType>::getSize(){
|
||||||
|
|
||||||
|
return list.getSize();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template <class KeyType, class DataType>
|
||||||
|
|
||||||
|
DataType Mapfake<KeyType, DataType>::find(KeyType key)
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
int i=0;
|
||||||
|
|
||||||
|
if(list.getItem(0)->getKey() == key)
|
||||||
|
|
||||||
|
return list.getItem(0)->getData();
|
||||||
|
|
||||||
|
while(!list.isEmpty()) {
|
||||||
|
|
||||||
|
i++;
|
||||||
|
|
||||||
|
if(list.getItem(i)->getKey() == key)
|
||||||
|
|
||||||
|
return list.getItem(i)->getData();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return (DataType)0; // Just to supress compilerwarning
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
32
Lab6/mapfake.h
Normal file
32
Lab6/mapfake.h
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
#ifndef __MAP_H
|
||||||
|
|
||||||
|
#define __MAP_H
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include <iostream.h>
|
||||||
|
|
||||||
|
#include "List.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template <class KeyType, class DataType>
|
||||||
|
|
||||||
|
class Mapfake{
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
typedef class Tuple{
|
||||||
|
|
||||||
|
KeyType key;
|
||||||
|
|
||||||
|
DataType data;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
Tuple(KeyType _key, DataType _data){key = _key; data = _data;}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
KeyType getKey(){return key;}
|
||||||
|
|
||||||
66
Lab6/node.cpp
Normal file
66
Lab6/node.cpp
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Node; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Node.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Node
|
||||||
|
|
||||||
|
#include "Node.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Parameterized Class Node
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
|
||||||
|
Node<T>::Node()
|
||||||
|
|
||||||
|
//## begin Node::Node%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Node::Node%.hasinit
|
||||||
|
|
||||||
|
//## begin Node::Node%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Node::Node%.initialization
|
||||||
|
|
||||||
95
Lab6/node.h
Normal file
95
Lab6/node.h
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Node; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Node.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Node_h
|
||||||
|
|
||||||
|
#define Node_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Node; Parameterized Class
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
|
||||||
|
class Node
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Node.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
Node(T theData):data(theData){next = (Node<T>*)0;}
|
||||||
|
|
||||||
|
//## end Node.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
Node();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~Node();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Additional Public Declarations
|
||||||
|
|
||||||
|
//## begin Node.public preserve=yes
|
||||||
|
|
||||||
|
Node *next;
|
||||||
102
Lab6/pcircle.cpp
Normal file
102
Lab6/pcircle.cpp
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Pcircle; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Pcircle.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Pcircle
|
||||||
|
|
||||||
|
#include "Pcircle.h"
|
||||||
|
|
||||||
|
#include "PStream.h"
|
||||||
|
|
||||||
|
#include "Point.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
void archive(int &i, PStream &ps);
|
||||||
|
|
||||||
|
void archive(Point& i, PStream &ps);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Persistent* Pcircle::_pobj = Persistent::addType("Pcircle", new Pcircle);
|
||||||
|
|
||||||
|
// ************** GAMMAL ******************
|
||||||
|
|
||||||
|
//IMPLEMENT_PERSISTENT(Pcircle);
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class Pcircle
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Pcircle::~Pcircle()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Pcircle::~Pcircle%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Pcircle::~Pcircle%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Pcircle::Pcircle(int xPos, int yPos, int _radius, Color _color)
|
||||||
|
|
||||||
|
//## begin Pcircle::Pcircle%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Pcircle::Pcircle%.hasinit
|
||||||
|
|
||||||
|
//## begin Pcircle::Pcircle%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Pcircle::Pcircle%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Pcircle::Pcircle%.body preserve=yes
|
||||||
|
|
||||||
|
// Circle::Circle(xPos, yPos, _radius, _color);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
_pobj = Persistent::addType("Pcircle", new Pcircle);
|
||||||
|
|
||||||
|
setCenter(xPos, yPos);
|
||||||
|
|
||||||
|
setRad(_radius);
|
||||||
|
|
||||||
106
Lab6/pcircle.h
Normal file
106
Lab6/pcircle.h
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Pcircle; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Pcircle.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Pcircle_h
|
||||||
|
|
||||||
|
#define Pcircle_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Circle
|
||||||
|
|
||||||
|
#include "Circle.h"
|
||||||
|
|
||||||
|
// PersFig
|
||||||
|
|
||||||
|
#include "PersFig.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Pcircle
|
||||||
|
|
||||||
|
//## Category: Persist
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Pcircle : public Circle, public PersFig //## Inherits: <unnamed>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Inherits: <unnamed>
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Pcircle.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end Pcircle.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Pcircle(){};
|
||||||
|
|
||||||
|
Pcircle(int xPos, int yPos, int _radius, Color _color);
|
||||||
|
|
||||||
|
Pcircle(const Pcircle &src);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~Pcircle();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
51
Lab6/persfig.cpp
Normal file
51
Lab6/persfig.cpp
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: PersFig; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: PersFig.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// PersFig
|
||||||
|
|
||||||
|
#include "PersFig.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class PersFig
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
PersFig::PersFig()
|
||||||
80
Lab6/persfig.h
Normal file
80
Lab6/persfig.h
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: PersFig; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: PersFig.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef PersFig_h
|
||||||
|
|
||||||
|
#define PersFig_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Figure
|
||||||
|
|
||||||
|
#include "Figure.h"
|
||||||
|
|
||||||
|
// Persistent
|
||||||
|
|
||||||
|
#include "Prsstent.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: PersFig
|
||||||
|
|
||||||
|
//## Category: Persist
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class PersFig : public Persistent, //## Inherits: <unnamed>
|
||||||
|
|
||||||
|
virtual public Figure //## Inherits: <unnamed>
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin PersFig.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end PersFig.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
59
Lab6/pline.cpp
Normal file
59
Lab6/pline.cpp
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Pline; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Pline.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Pline
|
||||||
|
|
||||||
|
#include "Pline.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class Pline
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Pline::Pline()
|
||||||
|
|
||||||
|
//## begin Pline::Pline%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Pline::Pline%.hasinit
|
||||||
|
|
||||||
|
//## begin Pline::Pline%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Pline::Pline%.initialization
|
||||||
85
Lab6/pline.h
Normal file
85
Lab6/pline.h
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Pline; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Pline.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Pline_h
|
||||||
|
|
||||||
|
#define Pline_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Line
|
||||||
|
|
||||||
|
#include "Line.h"
|
||||||
|
|
||||||
|
// PersFig
|
||||||
|
|
||||||
|
#include "PersFig.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Pline
|
||||||
|
|
||||||
|
//## Category: Persist
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Pline : public PersFig, //## Inherits: <unnamed>
|
||||||
|
|
||||||
|
public Line //## Inherits: <unnamed>
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Pline.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end Pline.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
Pline();
|
||||||
30
Lab6/plist.cpp
Normal file
30
Lab6/plist.cpp
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: pList; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: pList.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
48
Lab6/plist.h
Normal file
48
Lab6/plist.h
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: pList; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: pList.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef pList_h
|
||||||
|
|
||||||
|
#define pList_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// List
|
||||||
|
|
||||||
|
#include "List.h"
|
||||||
|
|
||||||
|
// Point
|
||||||
|
|
||||||
|
#include "Point.h"
|
||||||
|
|
||||||
83
Lab6/point.cpp
Normal file
83
Lab6/point.cpp
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Point; Pseudo Package body
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Point.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Point
|
||||||
|
|
||||||
|
#include "Point.h"
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Class Point
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Point::Point()
|
||||||
|
|
||||||
|
//## begin Point::Point%.hasinit preserve=no
|
||||||
|
|
||||||
|
//## end Point::Point%.hasinit
|
||||||
|
|
||||||
|
//## begin Point::Point%.initialization preserve=yes
|
||||||
|
|
||||||
|
//## end Point::Point%.initialization
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Point::Point%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Point::Point%.body
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Point::~Point()
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Point::~Point%.body preserve=yes
|
||||||
|
|
||||||
|
//## end Point::~Point%.body
|
||||||
101
Lab6/point.h
Normal file
101
Lab6/point.h
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
//## begin module.cm preserve=no
|
||||||
|
|
||||||
|
// %X% %Q% %Z% %W%
|
||||||
|
|
||||||
|
//## end module.cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.cp preserve=no
|
||||||
|
|
||||||
|
//## end module.cp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Module: Point; Pseudo Package specification
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Source file: Point.h
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Point_h
|
||||||
|
|
||||||
|
#define Point_h 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalIncludes preserve=no
|
||||||
|
|
||||||
|
//## end module.additionalIncludes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.includes preserve=yes
|
||||||
|
|
||||||
|
//## end module.includes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## begin module.additionalDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end module.additionalDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Class: Point
|
||||||
|
|
||||||
|
//## Category: Figures
|
||||||
|
|
||||||
|
//## Subsystem: Figures
|
||||||
|
|
||||||
|
//## Persistence: Transient
|
||||||
|
|
||||||
|
//## Cardinality/Multiplicity: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class Point
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
//## begin Point.initialDeclarations preserve=yes
|
||||||
|
|
||||||
|
//## end Point.initialDeclarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//## Constructors (generated)
|
||||||
|
|
||||||
|
Point();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Destructor (generated)
|
||||||
|
|
||||||
|
~Point();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Other Operations (specified)
|
||||||
|
|
||||||
|
//## Operation: getx%937398664
|
||||||
|
|
||||||
|
int getx ();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Operation: gety%937398665
|
||||||
|
|
||||||
|
int gety ();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//## Operation: setx%937398666
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user