#include <iostream.h>
#include "xcept.h"
using namespace std;
template <class T>
class Array1D{
friend ostream& operator<<(ostream&,const Array1D<T>&);
friend istream& operator>>(istream&,Array1D<T>&);
public:
Array1D(int size=0);
Array1D(const Array1D<T>& v);
Array1D(){delete[]element;}
T& operator[](int i)const;
int Size(){return size;}
Array1D<T>& operator =(const Array1D<T>& v);
Array1D<T> operator+()const;
Array1D<T> operator+(const Array1D<T>& v)const;
Array1D<T> operator-()const;
Array1D<T> operator-(const Array1D<T>& v)const;
Array1D<T> operator*(const Array1D<T>& v)const;
Array1D<T>&operator+=(const T& x);
Array1D<T>& ReSize(int sz);
Array1D<T>& geser_kanan();
Array1D<T>& geser_kiri();
private:
int size;
T*element;
};
template <class T>
Array1D<T>::Array1D(int sz)
{
size =sz;
element=new T[sz];
}
template <class T>
Array1D<T>::Array1D(const Array1D<T>& v)
{
size = v.size;
element=new T[size]; // get space
for (int i=0;i<size;i++)// copy elements
element[i]=v.element[i];
}
template <class T>
T& Array1D<T>::operator[](int i)const
{
return element[i];
}
template <class T>
Array1D<T>&Array1D<T>::operator =(const Array1D<T>& v)
{
if (this !=&v){
size=v.size;
delete[]element;
element=new T[size];
for(int i=0;i<size;i++)
element[i]=v.element[i];
}
return *this;
}
template <class T>
Array1D<T>Array1D<T>::operator+(const Array1D<T>& v)const
{
Array1D<T>w(size);
for(int i=0; i<size;i++)
w.element[i]=element[i]- v.element[i];
return w;
}
template <class T>
Array1D<T>Array1D<T>::operator-(const Array1D<T>& v)const
{
Array1D<T>w(size);
for(int i=0; i<size;i++)
w.element[i]=element[i]+ v.element[i];
return w;
}
template <class T>
Array1D<T>Array1D<T>::operator-()const
{
Array1D<T>w(size);
for(int i=0; i<size;i++)
w.element[i]=-element[i];
return w;
}
template <class T>
Array1D<T>Array1D<T>::operator*(const Array1D<T>& v)const
{
Array1D<T>w(size);
for(int i=0; i<size;i++)
w.element[i]=element[i]* v.element[i];
return w;
}
template <class T>
Array1D<T>&Array1D<T>::operator+=(const T& x)
{
for(int i=0; i<size;i++)
element[i]+=x;
return *this;
}
template <class T>
ostream& operator<<(ostream& out,const Array1D<T>& x)
{
for(int i=0; i<x.size;i++)
out<<x.element[i]<<" ";
return out;
}
template <class T>
Array1D<T>&Array1D<T>::ReSize(int sz)
{
delete[]element;
size=sz;
element=new T[size];
return *this;
}
template <class T>
istream& operator>>(istream& in,Array1D<T>& x)
{
for(int i=0; i<x.size;i++)
cin>>x.element[i]<<" ";
return cin;
}
template <class T>
Array1D<T>&Array1D<T>::geser_kanan()
{
int n = size;
int temp = element[n-1];
for (int i=n-1; i>=0; i--)
element[i+1]=element[i];
element[0]=temp;
}
template <class T>
Array1D<T>&Array1D<T>::geser_kiri()
{
int n=size;
int temp = element[0];
for(int i=0; i<n; i++)
element[i]=element[i+1];
element[n-1]=temp;
}
int main()
{
int X(10),Y,Z;
for (int i=0; i<10; i++)
X=i;
cout<<" nilai X = "<<X<<endl;
cout<<" nilai X is "<<X<<endl;
Y=X;
cout<<" nilai Y is "<<Y<<endl;
X += 2;
cout << " X incremented by 2 is " <<X<<endl;
Z=(Y+X)*Y;
cout<<"(Y+X)*y is " << Z <<endl;
cout<< "-(Y+X)*Y is " << -Z <<endl;
cout<<"setelah digeser kekanan :";
X.Array1D<T> geser_kanan();
cout<<"setelah digeser kekiri :";
X.Array1D<T> geser_kiri();
system("PAUSE");
}
#include "xcept.h"
using namespace std;
template <class T>
class Array1D{
friend ostream& operator<<(ostream&,const Array1D<T>&);
friend istream& operator>>(istream&,Array1D<T>&);
public:
Array1D(int size=0);
Array1D(const Array1D<T>& v);
Array1D(){delete[]element;}
T& operator[](int i)const;
int Size(){return size;}
Array1D<T>& operator =(const Array1D<T>& v);
Array1D<T> operator+()const;
Array1D<T> operator+(const Array1D<T>& v)const;
Array1D<T> operator-()const;
Array1D<T> operator-(const Array1D<T>& v)const;
Array1D<T> operator*(const Array1D<T>& v)const;
Array1D<T>&operator+=(const T& x);
Array1D<T>& ReSize(int sz);
Array1D<T>& geser_kanan();
Array1D<T>& geser_kiri();
private:
int size;
T*element;
};
template <class T>
Array1D<T>::Array1D(int sz)
{
size =sz;
element=new T[sz];
}
template <class T>
Array1D<T>::Array1D(const Array1D<T>& v)
{
size = v.size;
element=new T[size]; // get space
for (int i=0;i<size;i++)// copy elements
element[i]=v.element[i];
}
template <class T>
T& Array1D<T>::operator[](int i)const
{
return element[i];
}
template <class T>
Array1D<T>&Array1D<T>::operator =(const Array1D<T>& v)
{
if (this !=&v){
size=v.size;
delete[]element;
element=new T[size];
for(int i=0;i<size;i++)
element[i]=v.element[i];
}
return *this;
}
template <class T>
Array1D<T>Array1D<T>::operator+(const Array1D<T>& v)const
{
Array1D<T>w(size);
for(int i=0; i<size;i++)
w.element[i]=element[i]- v.element[i];
return w;
}
template <class T>
Array1D<T>Array1D<T>::operator-(const Array1D<T>& v)const
{
Array1D<T>w(size);
for(int i=0; i<size;i++)
w.element[i]=element[i]+ v.element[i];
return w;
}
template <class T>
Array1D<T>Array1D<T>::operator-()const
{
Array1D<T>w(size);
for(int i=0; i<size;i++)
w.element[i]=-element[i];
return w;
}
template <class T>
Array1D<T>Array1D<T>::operator*(const Array1D<T>& v)const
{
Array1D<T>w(size);
for(int i=0; i<size;i++)
w.element[i]=element[i]* v.element[i];
return w;
}
template <class T>
Array1D<T>&Array1D<T>::operator+=(const T& x)
{
for(int i=0; i<size;i++)
element[i]+=x;
return *this;
}
template <class T>
ostream& operator<<(ostream& out,const Array1D<T>& x)
{
for(int i=0; i<x.size;i++)
out<<x.element[i]<<" ";
return out;
}
template <class T>
Array1D<T>&Array1D<T>::ReSize(int sz)
{
delete[]element;
size=sz;
element=new T[size];
return *this;
}
template <class T>
istream& operator>>(istream& in,Array1D<T>& x)
{
for(int i=0; i<x.size;i++)
cin>>x.element[i]<<" ";
return cin;
}
template <class T>
Array1D<T>&Array1D<T>::geser_kanan()
{
int n = size;
int temp = element[n-1];
for (int i=n-1; i>=0; i--)
element[i+1]=element[i];
element[0]=temp;
}
template <class T>
Array1D<T>&Array1D<T>::geser_kiri()
{
int n=size;
int temp = element[0];
for(int i=0; i<n; i++)
element[i]=element[i+1];
element[n-1]=temp;
}
int main()
{
int X(10),Y,Z;
for (int i=0; i<10; i++)
X=i;
cout<<" nilai X = "<<X<<endl;
cout<<" nilai X is "<<X<<endl;
Y=X;
cout<<" nilai Y is "<<Y<<endl;
X += 2;
cout << " X incremented by 2 is " <<X<<endl;
Z=(Y+X)*Y;
cout<<"(Y+X)*y is " << Z <<endl;
cout<< "-(Y+X)*Y is " << -Z <<endl;
cout<<"setelah digeser kekanan :";
X.Array1D<T> geser_kanan();
cout<<"setelah digeser kekiri :";
X.Array1D<T> geser_kiri();
system("PAUSE");
}
#include <cstdlib>
#include <iostream>
#define maks 5
using namespace std;
class array1d{
friend ostream& operator<<(ostream&, const array1d&);
friend istream& operator>>(istream&, array1d&);
public:
array1d();
void cetak();
void geser_kiri();
void geser_kanan();
void hapus();
private:
char a[maks];
};
array1d::array1d(){
for(int i=0;i<maks;i++)
a[i]='0';
}
void array1d::cetak(){
for(int i=0;i<maks;i++)
cout<<a[i]<<"";
}
ostream& operator<<(ostream& out, const array1d& x){
for(int i=0;i<maks;i++)
cout<<x.a[i]<<"";
cout<<endl;
return out;
}
istream& operator>>(istream& in, array1d& x){
int posisi;
cout<<"Mengisi array pada posisi ke: ";
in>>posisi;
if(posisi>0&&posisi<=maks){
cout<<"Masukkan elemen array nya: ";
in>>x.a[posisi-1];
}
else
cout<<"Anda memasukkan posisi di luar range...\n";
return in;
}
void array1d::geser_kanan(){
int n=maks;
int temp=a[n-1];
for(int i=n-1;i>=0;i--)
a[i+1]=a[i];
a[0]=temp;
}
void array1d::geser_kiri(){
int n=maks;
int temp=a[0];
for(int i=0;i<n;i++)
a[i]=a[i+1];
a[n-1]=temp;
}
void array1d::hapus(){
int pil;
cout<<"Elemen yang akan di hapus: ";
cin>>pil;
int n=maks;
for(int i=pil-1;i<n;i++){
a[i]=a[i+1];
}
a[n-1]='0';
}
int main(int argc, char *argv[])
{
array1d x;
cout<<"Array masih kosong: "<<x;
cin>>x;
cout<<"Isi Array saat ini: "<<x;
x.geser_kiri();
cout<<"Isi Array setelah digeser kiri: "<<x;
x.geser_kanan();
cout<<"Isi Array setelah digeser kanan: "<<x;
x.hapus();
cout<<"Isi Array setelah dihapus: "<<x;
system("PAUSE");
return EXIT_SUCCESS;
}
#include <iostream>
#define maks 5
using namespace std;
class array1d{
friend ostream& operator<<(ostream&, const array1d&);
friend istream& operator>>(istream&, array1d&);
public:
array1d();
void cetak();
void geser_kiri();
void geser_kanan();
void hapus();
private:
char a[maks];
};
array1d::array1d(){
for(int i=0;i<maks;i++)
a[i]='0';
}
void array1d::cetak(){
for(int i=0;i<maks;i++)
cout<<a[i]<<"";
}
ostream& operator<<(ostream& out, const array1d& x){
for(int i=0;i<maks;i++)
cout<<x.a[i]<<"";
cout<<endl;
return out;
}
istream& operator>>(istream& in, array1d& x){
int posisi;
cout<<"Mengisi array pada posisi ke: ";
in>>posisi;
if(posisi>0&&posisi<=maks){
cout<<"Masukkan elemen array nya: ";
in>>x.a[posisi-1];
}
else
cout<<"Anda memasukkan posisi di luar range...\n";
return in;
}
void array1d::geser_kanan(){
int n=maks;
int temp=a[n-1];
for(int i=n-1;i>=0;i--)
a[i+1]=a[i];
a[0]=temp;
}
void array1d::geser_kiri(){
int n=maks;
int temp=a[0];
for(int i=0;i<n;i++)
a[i]=a[i+1];
a[n-1]=temp;
}
void array1d::hapus(){
int pil;
cout<<"Elemen yang akan di hapus: ";
cin>>pil;
int n=maks;
for(int i=pil-1;i<n;i++){
a[i]=a[i+1];
}
a[n-1]='0';
}
int main(int argc, char *argv[])
{
array1d x;
cout<<"Array masih kosong: "<<x;
cin>>x;
cout<<"Isi Array saat ini: "<<x;
x.geser_kiri();
cout<<"Isi Array setelah digeser kiri: "<<x;
x.geser_kanan();
cout<<"Isi Array setelah digeser kanan: "<<x;
x.hapus();
cout<<"Isi Array setelah dihapus: "<<x;
system("PAUSE");
return EXIT_SUCCESS;
}
#include <iostream>
using namespace std;
//template<class T>
class Kompleks{
friend class Operasi;
friend ostream& operator<<(ostream&, const Kompleks&);
friend istream& operator>>(istream&, Kompleks&);
public:
Kompleks(int s=0, int t=0):a(s),b(t){}
void cetak();
Kompleks operator-();
Kompleks operator-(const Kompleks&);
Kompleks operator+(const Kompleks&);
Kompleks operator*(const Kompleks&);
private:
int a;
int b;
};
//template<class T>
void Kompleks::cetak(){
if(b>0)cout<<"bilangan kompleks:"<<a<<"+"<<b<<"i";
else cout<<"bilangan kompleks:"<<a<<b<<"i";
cout<<endl;
}
// template<class T>
Kompleks Kompleks::operator-(){
Kompleks x;
x.a=a;
x.b=-b;
return x;
}
// template<classT>
Kompleks Kompleks::operator-(const Kompleks& m){
Kompleks x;
x.a=a-m.a;
x.b=b-m.b;
return x;
}
// template<class T>
Kompleks Kompleks::operator+(const Kompleks& m){
Kompleks x;
x.a=a+m.a;
x.b=b+m.b;
return x;
}
Kompleks Kompleks::operator*(const Kompleks&m)
{
Kompleks x;
x.a=a*m.a;
x.b=b*m.b;
return x;
}
// template<class T>
ostream& operator<<(ostream& out, const Kompleks& x){
if(x.b==0) out<<'['<<x.a<<']';
else if(x.a==0 && x.b==1)out<<'['<<"i"<<']';
else if(x.a==0 && x.b==-1)out<<'['<<"-i"<<']';
else if(x.a==0 && x.b>1)out<<'['<<x.b<<"i"<<']';
else if(x.a==0 && x.b<-1)out<<'['<<x.b<<"i"<<']';
else if(x.b==1)out<<'['<<x.a<<"+"<<"i"<<']';
else if(x.b>0)out<<'['<<x.a<<"+"<<x.b<<"i"<<']';
else if(x.b==-1)out<<'['<<x.a<<"-i"<<']';
else out<<'['<<x.a<<x.b<<"i"<<']';
return out;
}
//template <class T>
istream& operator>>(istream& in, Kompleks&x)
{
cout<<"MASUKKAN BAGIAN REAL : ";
in>>x.a;
cout<<"MASUKKAN BAGIAN IMAJINER : ";
in>>x.b;
return in;
}
//template <class T>
class Operasi{
public :
Kompleks jumlah(const Kompleks&,const Kompleks&);
Kompleks kali(const Kompleks&,const Kompleks&);
Kompleks kurang(const Kompleks&,const Kompleks&);
};
//template <class T>
Kompleks Operasi::jumlah(const Kompleks&m, const Kompleks&n)
{
Kompleks temp;
temp.a=m.a+n.a;
temp.b=m.b+n.b;
return temp;
}
//template <class T>
Kompleks Operasi::kurang(const Kompleks&m, const Kompleks&n)
{
Kompleks temp;
temp.a=m.a-n.a;
temp.b=m.b-n.b;
return temp;
}
//template <class T>
Kompleks Operasi::kali(const Kompleks&m, const Kompleks&n)
{
Kompleks temp;
temp.a=(m.a*n.a)-(m.b*n.b);
temp.b=(m.a*n.b)-(m.b*n.a);
return temp;
}
int main (){
Kompleks x(2,3),y(4,-4),t;
Operasi z;
cout<<"\nMenggunakan cetak():\n";
x.cetak();
cout<<"\nMenggunakan overloading :"<<x;
cout<<"\nKonjugat :"<<-x<<endl;
y.cetak();
cout<<"\nPenjumlahan menggunakan methods :";
t=z.jumlah(x,y);
t.cetak();
cout<<"\nPenjumlahan menggunakan operator:";
t=x+y;
cout<<x<<"+"<<y<<"="<<t;
cout<<"\nPerkalian menggunakan methods:";
t=z.kali(x,y);
t.cetak();
cout<<"\nperkalian menggunakan operator:";
t=x*y;
cout<<x<<"*"<<y<<"="<<t;
t=x-y;
cout<<"\n"<<x<<"-"<<y<<"="<<t<<endl;
cout<<endl;
Kompleks n;
cin>>n;
cout<<n;
system("PAUSE");
return 0;
}
using namespace std;
//template<class T>
class Kompleks{
friend class Operasi;
friend ostream& operator<<(ostream&, const Kompleks&);
friend istream& operator>>(istream&, Kompleks&);
public:
Kompleks(int s=0, int t=0):a(s),b(t){}
void cetak();
Kompleks operator-();
Kompleks operator-(const Kompleks&);
Kompleks operator+(const Kompleks&);
Kompleks operator*(const Kompleks&);
private:
int a;
int b;
};
//template<class T>
void Kompleks::cetak(){
if(b>0)cout<<"bilangan kompleks:"<<a<<"+"<<b<<"i";
else cout<<"bilangan kompleks:"<<a<<b<<"i";
cout<<endl;
}
// template<class T>
Kompleks Kompleks::operator-(){
Kompleks x;
x.a=a;
x.b=-b;
return x;
}
// template<classT>
Kompleks Kompleks::operator-(const Kompleks& m){
Kompleks x;
x.a=a-m.a;
x.b=b-m.b;
return x;
}
// template<class T>
Kompleks Kompleks::operator+(const Kompleks& m){
Kompleks x;
x.a=a+m.a;
x.b=b+m.b;
return x;
}
Kompleks Kompleks::operator*(const Kompleks&m)
{
Kompleks x;
x.a=a*m.a;
x.b=b*m.b;
return x;
}
// template<class T>
ostream& operator<<(ostream& out, const Kompleks& x){
if(x.b==0) out<<'['<<x.a<<']';
else if(x.a==0 && x.b==1)out<<'['<<"i"<<']';
else if(x.a==0 && x.b==-1)out<<'['<<"-i"<<']';
else if(x.a==0 && x.b>1)out<<'['<<x.b<<"i"<<']';
else if(x.a==0 && x.b<-1)out<<'['<<x.b<<"i"<<']';
else if(x.b==1)out<<'['<<x.a<<"+"<<"i"<<']';
else if(x.b>0)out<<'['<<x.a<<"+"<<x.b<<"i"<<']';
else if(x.b==-1)out<<'['<<x.a<<"-i"<<']';
else out<<'['<<x.a<<x.b<<"i"<<']';
return out;
}
//template <class T>
istream& operator>>(istream& in, Kompleks&x)
{
cout<<"MASUKKAN BAGIAN REAL : ";
in>>x.a;
cout<<"MASUKKAN BAGIAN IMAJINER : ";
in>>x.b;
return in;
}
//template <class T>
class Operasi{
public :
Kompleks jumlah(const Kompleks&,const Kompleks&);
Kompleks kali(const Kompleks&,const Kompleks&);
Kompleks kurang(const Kompleks&,const Kompleks&);
};
//template <class T>
Kompleks Operasi::jumlah(const Kompleks&m, const Kompleks&n)
{
Kompleks temp;
temp.a=m.a+n.a;
temp.b=m.b+n.b;
return temp;
}
//template <class T>
Kompleks Operasi::kurang(const Kompleks&m, const Kompleks&n)
{
Kompleks temp;
temp.a=m.a-n.a;
temp.b=m.b-n.b;
return temp;
}
//template <class T>
Kompleks Operasi::kali(const Kompleks&m, const Kompleks&n)
{
Kompleks temp;
temp.a=(m.a*n.a)-(m.b*n.b);
temp.b=(m.a*n.b)-(m.b*n.a);
return temp;
}
int main (){
Kompleks x(2,3),y(4,-4),t;
Operasi z;
cout<<"\nMenggunakan cetak():\n";
x.cetak();
cout<<"\nMenggunakan overloading :"<<x;
cout<<"\nKonjugat :"<<-x<<endl;
y.cetak();
cout<<"\nPenjumlahan menggunakan methods :";
t=z.jumlah(x,y);
t.cetak();
cout<<"\nPenjumlahan menggunakan operator:";
t=x+y;
cout<<x<<"+"<<y<<"="<<t;
cout<<"\nPerkalian menggunakan methods:";
t=z.kali(x,y);
t.cetak();
cout<<"\nperkalian menggunakan operator:";
t=x*y;
cout<<x<<"*"<<y<<"="<<t;
t=x-y;
cout<<"\n"<<x<<"-"<<y<<"="<<t<<endl;
cout<<endl;
Kompleks n;
cin>>n;
cout<<n;
system("PAUSE");
return 0;
}
#include <cstdlib>
#include <iostream>
using namespace std;
class Bilangan{
friend ostream& operator<<(ostream&, const Bilangan&);
friend istream& operator>>(istream&, Bilangan&);
public:
Bilangan(int a0=0,float b0=0.0):a(a0),b(b0){}
void banding_int(const Bilangan&, const Bilangan&);
Bilangan& operator=(const Bilangan&);
Bilangan operator+(const Bilangan&)const;
Bilangan operator-()const;
protected:
int a;
float b;
};
ostream& operator<<(ostream& out, const Bilangan& x)
{
out<<"Bagian integer: "<<x.a<<endl;
out<<"Bagian float : "<<x.b<<endl;
return out;
}
void Bilangan::banding_int(const Bilangan&x, const Bilangan& y)
{
if(x.a>y.a)cout<<x.a<<"::x lebih besar dari"<<y.a<<"::y";
else cout<<x.a<<"::x lebih kecil dari"<<y.a<<"::y";
}
Bilangan& Bilangan::operator=(const Bilangan& x)
{
a=x.a;
b=x.b;
return *this;
}
istream& operator>>(istream& in, Bilangan& x)
{
cout<<"\nMasuk bagian integer:";
in>>x.a;
cout<<"Masuk bagian float :";
in>>x.b;
return in;
}
Bilangan Bilangan::operator+(const Bilangan& x)const
{Bilangan cc;
cc.a=a+x.a;
cc.b=b+x.b;
return cc;
}
Bilangan Bilangan::operator-()const
{Bilangan x;
x.a=-a;
x.b=-b;
return x;
}
//
class Bil_char:public Bilangan {
friend ostream& operator << (ostream&, const Bil_char&);
public:
Bil_char(int a0=0, int b0=0, char ch='x'):Bilangan(a0,b0),c(ch){}
private:
char c;
};
ostream& operator <<(ostream& out, const Bil_char& x){
out<<"bagian INteger : "<<x.a<<endl;
out<<"bagian float : "<<x.b<<endl;
out<<"bagian Char : "<<x.c<<endl;
return out;
}
int main(){
Bilangan s,t(-2,3.14),d;
cout<<"Nilai awal s\n"<<s;
cout<<"Nilai awal t dari deklarasi\n"<<t;
s=t;
cout<<"Setelah s di-assign t\n";
cout<<"Nilai s\n"<<s;
cout<<"masukan nilai-nilai object d";
cin>>d;
cout<<"setelah d+t=> \n"<<d+t;
cout<<"Nilai d dinegatifkan\n"<<-d;
system("PAUSE");
return EXIT_SUCCESS;
}
#include <iostream>
using namespace std;
class Bilangan{
friend ostream& operator<<(ostream&, const Bilangan&);
friend istream& operator>>(istream&, Bilangan&);
public:
Bilangan(int a0=0,float b0=0.0):a(a0),b(b0){}
void banding_int(const Bilangan&, const Bilangan&);
Bilangan& operator=(const Bilangan&);
Bilangan operator+(const Bilangan&)const;
Bilangan operator-()const;
protected:
int a;
float b;
};
ostream& operator<<(ostream& out, const Bilangan& x)
{
out<<"Bagian integer: "<<x.a<<endl;
out<<"Bagian float : "<<x.b<<endl;
return out;
}
void Bilangan::banding_int(const Bilangan&x, const Bilangan& y)
{
if(x.a>y.a)cout<<x.a<<"::x lebih besar dari"<<y.a<<"::y";
else cout<<x.a<<"::x lebih kecil dari"<<y.a<<"::y";
}
Bilangan& Bilangan::operator=(const Bilangan& x)
{
a=x.a;
b=x.b;
return *this;
}
istream& operator>>(istream& in, Bilangan& x)
{
cout<<"\nMasuk bagian integer:";
in>>x.a;
cout<<"Masuk bagian float :";
in>>x.b;
return in;
}
Bilangan Bilangan::operator+(const Bilangan& x)const
{Bilangan cc;
cc.a=a+x.a;
cc.b=b+x.b;
return cc;
}
Bilangan Bilangan::operator-()const
{Bilangan x;
x.a=-a;
x.b=-b;
return x;
}
//
class Bil_char:public Bilangan {
friend ostream& operator << (ostream&, const Bil_char&);
public:
Bil_char(int a0=0, int b0=0, char ch='x'):Bilangan(a0,b0),c(ch){}
private:
char c;
};
ostream& operator <<(ostream& out, const Bil_char& x){
out<<"bagian INteger : "<<x.a<<endl;
out<<"bagian float : "<<x.b<<endl;
out<<"bagian Char : "<<x.c<<endl;
return out;
}
int main(){
Bilangan s,t(-2,3.14),d;
cout<<"Nilai awal s\n"<<s;
cout<<"Nilai awal t dari deklarasi\n"<<t;
s=t;
cout<<"Setelah s di-assign t\n";
cout<<"Nilai s\n"<<s;
cout<<"masukan nilai-nilai object d";
cin>>d;
cout<<"setelah d+t=> \n"<<d+t;
cout<<"Nilai d dinegatifkan\n"<<-d;
system("PAUSE");
return EXIT_SUCCESS;
}
- Banyak perintah dan fungsi SQL yang dapat digunakan untuk mendefenisikan maupun memanipulasi database. Suatu rangkaian aktivitas yang berhubungan dengan pemulihan dan pengoptimalan perintah query di dalam database pada SQL dapat dituliskan fasilitas yang memiliki antarmuka grafis yaitu Query Analyzer. Beberapa aktivitas yang dimaksud, antara lain :
- Melakukan query pada databese SQL dengan menggunakan perintah-perintah SQL untuk melihat teks atau grid.
- Melihat representasi grafik dari langkah-langkah untuk mengakses query
- Melakukan analisa kinerja indeks
- Menjalankan skrip Transact SQL dari prosedur tersimpan.
1. DDL (Data Definition Language)
DDL merupakan bagian dari SQL yang digunakan untuk mendefenisikan data dan proyek database. Perintah digunakan untuk mendefenisikan suatu proyek, yaitu membuat, mengubah, menghapus dan memberikan izin.
Beberapa perintah pada SQL yang temasuk DDL, seperti :
Create Table untuk Membuat Tabel
Create Index untuk Membuat Index
Create View untuknMembuat View
Alter Table untuk Mengubah atau menyisipkan ke dalam tabel
Drop Table untuk Menghapus Tabel
Drop Index untuk Menghapus Index
Drop View untuk Menghapus View
Grant untuk Memberi izin akses kepada user
2. DML (Data Manipulation Language)
DML merupakan bagian dari SQL yang digunakan untuk memanipulasi data. Perintah-perintah ini bertugas untuk melakukan query dan perubahan yg dilakukan dalam suatu tabel
Beberapa perintah SQL yang termasuk DML, Seperti :
Select diigunakan untuk memilih data dari suatu tabel atau view
Insert digunakan untuk Menyisipkan baris dari suatu tabel
Delete digunakan untuk Menghapus baris dari suatu tabel
UpDate digunakan untuk Mengubah isi dari kolom (field) pada suatu tabel
Commit digunakan untuk Menuliskan perubahan ke dalam disk
Rollback dingunakan untuk Membatalkan perubahan yang dilakukan setelah perintah Commit yang berakhir.