007
22.03.2006, 16:02 Uhr
ao
(Operator)
|
Moin,
der abgebildete Code kompiliert mit VC6. Änderungen gegenüber rendners Code: * Konstruktor wie oben eingebaut * Destruktor nachgeliefert (fehlte -> Linkerfehler) * const ergänzt wie von FloSoft angemahnt
VC6 ist zwar alt, aber so alt nun auch wieder nicht.
ao
C++: |
#include <iostream> #include <iomanip>
using namespace std;
class Vektor { friend ostream& operator << ( ostream& , const Vektor& );
public: Vektor( int , char *name = NULL );
~Vektor( void );
Vektor& operator = ( const Vektor& ); Vektor& operator + ( const Vektor& ); Vektor& operator - ( const Vektor& );
double operator [] ( int ); double operator * ( const Vektor& );
private: double *v; int dim; char *Name; };
Vektor::Vektor( int Dim , char * name ) {
dim = ( Dim < 1 ) ? 1 : Dim;
v = new double[ dim ];
for( int i = 0; i < dim ; i++ ) v[ i ] = 1.0;
if( name == NULL ) { Name = new char[ 2 ]; strcpy( Name, "v" ); } else { Name = new char[ strlen( name ) + 1 ]; strcpy( Name, name ); } }
Vektor::~Vektor () { delete [] Name; delete [] v; }
ostream& operator<<( ostream & ost , const Vektor &V ) { ost << "Name: " << V.Name;
return ost; }
int main( void ) { Vektor V1( 12, "V1" );
cout << V1 << endl;
return 0;
}
|
|