Bu örnekte C++ ile bir kare matrix class'ı yaratıyoruz. Bu class'ı header dosyasına koyuyoruz. SquareMatrix class'ı ekleme,çıkarma,değerlerini boşaltma gibi özellikleri bulunmakta.
1 class SquareMatrix{
2 public:
3 SquareMatrix( int ) ;
4 void makeEmpty( int ) ;
5 void storeValue( int , int , int ) ;
6 int getValue( int , int ) ;
7 int getN( void ) ;
8 void add( SquareMatrix) ;
9 void substract( SquareMatrix) ;
10 void copy( SquareMatrix) ;
11 void print( void ) ;
12 private:
13 int N;
14 int data[ 50] [ 50] ;
15 } ;
16 SquareMatrix::SquareMatrix( int n) {
17 N=n;
18 }
19 int SquareMatrix::getN( ) {
20 return N;
21 }
22 void SquareMatrix::storeValue( int i, int j, int value) {
23 data[ i] [ j] =value;
24 }
25 int SquareMatrix::getValue( int i, int j) {
26 return data[ i] [ j] ;
27 }
28 void SquareMatrix::makeEmpty( int n) {
29 int i=0, j=0;
30 for ( i = 0;i < n;i+ + ) {
31 for ( j = 0;j < n;j+ + ) {
32 storeValue( i, j, 0) ;
33 }
34 }
35 }
36 void SquareMatrix::add( SquareMatrix matrix) {
37 int i=0, j=0;
38 for ( i=0;i<N;i+ + ) {
39 for ( j=0;j<N;j+ + ) {
40 storeValue( i, j, data[ i] [ j] + matrix. getValue( i, j) ) ;
41 }
42 }
43 }
44 void SquareMatrix::substract( SquareMatrix matrix) {
45 int i=0, j=0;
46 for ( i=0;i<N;i+ + ) {
47 for ( j=0;j<N;j+ + ) {
48 storeValue( i, j, getValue( i, j) - matrix. getValue( i, j) ) ;
49 }
50 }
51 }
52 void SquareMatrix::print( ) {
53 cout << "- - - - - - - \ n";
54 int i=0, j=0;
55 for ( i=0;i<N;i+ + ) {
56 for ( j=0;j<N;j+ + ) {
57 cout << data[ i] [ j] << ", ";
58 }
59 cout << "\ n";
60 }
61 }
aşağıdaki program ile SquareMatrix class!ı test edilmiştir.
1 # include <stdio. h>
2 # include <iostream. h>
3 # include <stdlib. h>
4 # include "SquareMatrix. h"
5 int main( int argc, char * * argv)
6 {
7 int i, j, v;
8 int random_integer;
9 SquareMatrix* s=new SquareMatrix( 5) ;
10 SquareMatrix* a=new SquareMatrix( 5) ;
11 s- >makeEmpty( 5) ;
12 s- >print( ) ;
13 s- >storeValue( 4, 4, 1) ;
14 s- >print( ) ;
15 a- >makeEmpty( 5) ;
16 a- >print( ) ;
17 a- >storeValue( 1, 1, 1) ;
18 a- >print( ) ;
19 s- >add( * a) ;
20 s- >print( ) ;
21 s- >substract( * a) ;
22 s- >print( ) ;
23 printf( "DONE") ;
24 char ss[ 1] ;
25 scanf( "% 1s", ss) ;
26 return 0;
27 }