#include <iostream>
using namespace std;
class Rekt{
friend int Luas(const Rekt &a); //fungsi friend Luas()
int x,y; // private secara default
public:
Rekt(int L, int W){x = L, y = W;} //fungsi konstruktor
}; //akhir dari kelas Rekt
int Luas (const Rekt &b) //definisi dari fungsi friend
{
return b.x*b.y; //operator resolusi skop tidak diperlukan
};
int main()
{
Rekt R1(5,6), R2(3,4) ; //deklarasi atas dua objek R1 dan R2
cout<<"Luas Dari R1 = "<<Luas(R1)<<"\n";
cout<<"Luas dari R2 = "<<Luas(R2)<<"\n";
return 0 ;
}
================================
#include <iostream>
using namespace std;
class Rekt{
friend int Luas(const Rekt &a); //sebuah fungsi friend
int x,y; //private secara default
public:
Rekt(int L, int W){x = L, y = W;} //fungsi konstruktor
friend double Biaya(const Rekt &a, double);
//fungsi friend kedua
}; //akhir dari kelas Rekt
int Luas(const Rekt &b) //definisi dari fungsi Luas()
{
return b.x*b.y;
}
double Biaya(const Rekt &b, double s) //definisi dari fungs Biaya()
{
return b.x*b.y * s;
}
int main()
{
double A = 4.5, B = 5.2; // A dan B untuk data untuk fungsi Biaya()
Rekt R1(10,5), R2(20,5) ; // R1, R2 adalah dua objek
cout<<"Luas dari R1 = "<<Luas(R1)<<"\n";
cout<<"Luas dari R2 = "<<Luas(R2)<<"\n";
cout<<"Biaya = "<<Biaya(R1,A)<<"\n";
cout<<"Biaya = "<<Biaya(R2,B)<<"\n";
return 0 ;
}
=====================================
#include <iostream>
using namespace std;
class Persegi; //pra-deklearasi dari kelas
class Rekt { //kelas Rekt
int x,y; //private secara default
public:
Rekt(int A, int B) {x = A, y = B;}
int Luas()
{return x*y;}
friend void Tampil(Rekt R, Persegi S); //fungsi friend untuk Rekt
}; //akhir dari kelas Rekt
class Persegi { //kelas Persegi
int sisi; //private secara default
public:
Persegi (int C){sisi = C;}
int Luas ()
{return sisi*sisi;}
friend void Tampil(Rekt R, Persegi S); //fungsi friend untuk Persegi
}; //akhir dari kelas Persegi
void Tampil(Rekt R, Persegi S) //definisi dari fungsi friend
{
cout<<"Luas dari Rektangular = "<<R.Luas()<<endl;
cout<<"Luas dari Persegi = "<<S.Luas()<< endl;
}
int main()
{
Rekt R1(10, 5);
Persegi S1(10);
Tampil(R1, S1);
return 0;
}
======================================
#include <iostream>
using namespace std;
class Kubik {
friend class Lukis; //deklarasi dari kelas friend
public:
void sisi2(int , int, int);
int Luas();
int volume();
int x, y, z;
}; //akhir dari kelas Kubik
void Kubik::sisi2(int L, int W, int H)
{x = L, y = W,z = H; } //pengaturan sisi-sisi dari Kubik
int Kubik::Luas() //definisi dari Luas()
{return 2*(x*y +y*z +z*x);}
int Kubik::volume() //definisi dari volume()
{return x*y*z ;}
class Lukis{ //deklarasi dari kelas friend Lukis
private:
int R;
public:
Lukis() {R = 1;} //konstruktor default
Lukis(int S) {R = S;} //konstruktor parametris
Kubik C; // C adalah objek dari kelas Kubik
int Luas (){return C.Luas ();}
int biaya(int R , Kubik C )
{return R* C.Luas ();}
}; //akhir dari kelas Lukis
int main()
{
Kubik C1 ; //C1 adalah objek dari kelas Kubik
C1.sisi2 (5,6,5 );
Lukis P1 ; //P1 adalah objek dari kelas Lukis
int k = 4;
cout<<"Volume dari C1 = "<<C1.volume()<<"\n";
cout<<"Luas permukaan dari C1 = "<<C1.Luas()<<"\n";
cout<<"Biaya pelukisan P1 = "<<P1.biaya(k, C1)<<"\n";
return 0 ;
}
=====================================
#include <iostream>
using namespace std;
class List
{
private:
int x,y; //x = jumlah item, y = harga per tem
public:
void Setdata(int a, int b) //fungsi publik untuk mengakses x, y
{
cout<<"Masukkan jumlah item: "; cin>>a;
cout<<"Masukkan harga per item: "; cin>>b;
x = a, y = b;
}
void Tampil1()
{cout<<"Jumlah item = "<<x<<endl;}
void Tampil2()
{cout<<"Harga per item = "<<y<<endl;}
void Tampil3()
{cout<<"Biaya dari "<<x<<" buah item dengan harga "<<y<<" per item = "<<x*y<<endl;}
}; //akhir dari kelas List
void main()
{
List L1;
List *ptr; //pointer ke List
ptr = &(List) L1; //menugaskan alamat dari objek kelas
int i,j;
(*ptr).Setdata(i,j); //nilai-nilai ditugaskan oleh user
ptr -> Tampil1(); // (*ptr) dan ptr-> ekivalen
ptr -> Tampil2();
(*ptr).Tampil3();
}
====================================
#include <iostream>
using namespace std;
class List{
private:
int x, y, z;
public:
void Tampil1()
{cout<<"Selamat datang ke pasar ini"<<endl;}
void set_harga(int a, int b, int c)
{x = a, y = b, z = c;}
void Tampil2()
{
cout<<"Harga dari item1 = "<<x<<endl;
cout<<"Harga dari item2 = "<<y<<endl;
cout<<"Harga dari item3 = "<<z<<endl;
}
}; //akhir dari kelas List
void main()
{
List L1;
List *ptr; //pointer ke List
ptr = &(List) L1; //penugasan alamat dari L1 kepada pointer
ptr -> set_harga(6, 8, 10); //fungsi yang berelasi dengan L1
ptr -> Tampil1();
cout<<"Daftar Harga 1"<<endl;
ptr ->Tampil2();
List L2; //L2 adalah objek kedua dari kelas
*ptr++; //penginkremenan pointer ke L1 menghasilkan pointer ke L2.
ptr -> set_harga(32,27,38); //fungsi yang berelasi dengan L2.
ptr -> Tampil1();
cout<<"Daftar Harga 2"<<endl;
ptr -> Tampil2();
}
===============================================
#include <iostream>
using namespace std;
class List{
private:
int x, y, z;
public:
List (int a, int b, int c) {x = a, y = b, z = c;} //konstruktor
void Tampil()
{
cout<<"Harga dari item 1 = "<<x<<endl;
cout<<"Harga dari item 2 = "<<y<<endl;
cout<<"Harga dari item 3 = "<<z<<endl;
}
}; //akhir dari kelas List
void main()
{
int n = 0;
List L1 (12, 15, 27);
cout<<"List "<<++n<<endl;
List *ptr = &L1; //(*ptr) dan ptr-> ekivalen
ptr -> Tampil();
cout<<"\nList"<< ++n <<"\n";
List L2(30, 54, 60);
ptr = & L2 ;
(*ptr).Tampil();
}
==========================================================
#include <iostream>
using namespace std;
class Rekt {
int x, y; //private secara default
public:
void set_sisi(int L, int W){x = L, y = W;}
int Luas() //definisi dari fungsi Luas()
{
return x*y;
}
}; //akhir dari kelas Rekt
int main()
{
Rekt R1, R2, R3;
void (Rekt:: *ptrSet)(int,int) = & Rekt :: set_sisi;
(R1.*ptrSet) (20,15);
cout<<"Luas dari R1 = "<<R1.Luas()<<endl;
(R2.*ptrSet) (20,30); //objek R2 memanggil fungsi dengan pointer
cout<<"Luas dari R2 = "<<R2.Luas()<<endl;
Rekt *ptr3 = &R3; // declaring pointer to object R3 of class
(ptr3 ->*ptrSet)(16,10); //memanggil fungsi dengan pointer yang menunjuk ke objek
cout<<"Luas dari R3 = "<<R3.Luas()<<endl;
return 0 ;
}
==================================================
#include <iostream>
using namespace std;
class Rekt{
friend int Luas(Rekt a); //fungsi friend
int x, y; //anggota-anggot data private secara default
public:
friend double biaya(Rekt a, double); //fungsi friend lain
Rekt (int L,int W){ x = L,y = W;} //konstruktor
}; //akhir dari kelas Rekt
int Luas (Rekt b) //definisi dari fungsi Luas() menggunakan pointer
{
int Rekt :: *ptrx = &Rekt :: x; //ptrx adalah pointer untuk x
int Rekt :: *ptry = &Rekt :: y; //ptry adalah pointer untuk y
Rekt *ptrb = &b; //ptrb adalah pointer yang menunjuk ke b
return b.*ptrx * b.*ptry;
};
double biaya(Rekt b , double m)
{
return b. x* b. y * m;
}
int main()
{
double n = 4.5;
Rekt R1(5,6), R2(3,4);
cout<<"Luas of R1 = "<<Luas(Rekt(R1))<<"\n";
cout<<"Luas of R2 = "<<Luas(Rekt(R2))<<"\n";
cout<<"biaya for R1 = "<<biaya(Rekt(R1),n)<<"\n";
return 0 ;
}
==================================================
#include <iostream>
using namespace std;
class List{
private:
int x, y, z;
public:
int Alfa;
List (int a, int b, int c) {x = a, y = b, z = c;} //konstruktor
}; //akhir dari kelas List
void main()
{
List L1(10, 20, 30);
int *pAlfa; //pointer ke suatu integer
L1. Alfa = 50;
pAlfa = & L1.Alfa; //penugasan nilai kepada pointer
cout<<"Alfa = "<<*pAlfa<< endl;
cout<<"Alamat dari Alfa = "<<pAlfa<< endl;
pAlfa--; //mendekremen pointer untuk mendapatkan z
cout<<"Data z dari L1 = "<<*pAlfa <<endl;
cout<<"Alamat dari z = "<<pAlfa<<endl;
pAlfa--; //mendekremen pointer untuk mendapatkan y
cout<<"Data y dari L1 = "<<*pAlfa <<endl;
cout<<"Alamat dari y = "<<pAlfa<<endl;
pAlfa--; //mendekremen pointer untuk mendapatkan x
cout<<"Data x dari L1 = "<<*pAlfa <<endl;
cout<<"Alamat dari x = "<<pAlfa<<endl;
}
==========================================
#include <iostream>
using namespace std;
class List{
private:
int x, y, z;
public:
int s;
List(int a, int b, int c) {x = a, y = b, z = c;} //konstruktor
}; //akhir dari kelas List
void main()
{
List L1( 10, 20 , 30); ;
L1.s = 40;
int *ptrL1 ;
ptrL1 = (int*)& L1 ;
cout<<"Nilai dari x = "<<*ptrL1<<endl;
cout<<"Alamat dari x = "<<ptrL1<<endl;
ptrL1++;
cout<<"Data y dari L1 = "<<*ptrL1<<endl;
cout<<"Alamat dari y = "<<ptrL1<<endl;
ptrL1++;
cout<<"Data z dari L1 = "<<*ptrL1<<endl;
cout<<"Alamat dari z = "<<ptrL1<<endl;
ptrL1 ++;
cout<<"Data s dari L1 = "<<*ptrL1<<endl;
cout<<"Alamat dari s = "<<ptrL1<<endl;
}
===========================================
#include <iostream>
using namespace std;
class Kubik {
public:
Kubik(int L, int W, int H){this ->x=L, (*this).y=W, this->z=H;}
//fungsi di atas adalah konstruktor
int luas_permukaan();
int volume();
void Tampil1() // Displays private data of object.
{
cout<<"x = "<<this->x<<", y = "<<this->y<<", z = "
<<(*this).z <<endl;
}
void Tampil2()
{cout << this<<endl;} //menghasilkan nilai dari this
private:
int x, y, z; //data private
}; //akhir dari kelas Kubik
int Kubik::luas_permukaan() //definisi dari luas_permukaan()
{
return 2*(x*y +y*z +z*x);
}
int Kubik::volume() //definisi dari volume()
{
return x*y*z;
}
int main()
{
Kubik C1(5,6,4), C2(7,8,5) ; //C1 dan C2 adalah objek dari Kubik
C1.Tampil1();
C1.Tampil2(); //nilai dari pointer this untuk C1
cout<<&C1<<endl; //alamat dari C1
C2.Tampil1();
C2.Tampil2(); //nilai dari pointer this untuk C2
cout<<&C2<<endl; //alamat dari C2
cout<<"Volume dari Kubik C1 = "<<C1.volume()<<"\n";
cout<<"Volume dari Kubik C2 = "<<C2.volume()<<"\n";
cout<<"Luas permukaan dari C1 = "<<C1.luas_permukaan()<<"\n";
cout<<"Luas permukaan dari C2 = "<<C2.luas_permukaan()<<"\n";
return 0 ;
}
==============================================
#include <iostream>
using namespace std;
class Kubik{
public:
static int x; //x dideklarasikan static
Kubik( int W ): y(W) {} //konstruktor
static void Tampil() //fungsi statis
{
cout<<"Tinggi dari semua objek adalah = "<<z<<endl;
}
int luas_permukaan();
int volume();
private:
int y;
static int z; //variabel statis
}; //akhir dari kelas Kubik
int Kubik :: x = 10;
int Kubik :: z = 5;
int Kubik::luas_permukaan()
{
return 2*(x*y +y*z +z*x);
}
int Kubik::volume()
{
return x*y*z;
}
int main()
{
Kubik C1(6), C2(3);
cout<<"C1.x = "<<C1.x<<", C2.x = "<<C2.x <<endl;
Kubik::Tampil(); //pemanggilan fungsi tanpa objek
cout<<"Volume dari Kubik C1 " <<C1.volume()<<"\n";
cout<<"Volume dari Kubik C2 = "<<C2.volume()<<"\n";
cout<<"Luas permukaan dari C1 = "<<C1.luas_permukaan()<<"\n";
cout<<"Luas permukaan dari C2 = "<<C2.luas_permukaan()<<"\n";
return 0 ;
}
=========================================
#include <iostream>
using namespace std;
class Kubik {
public:
Kubik(int H):z(H) {} //konstruktor
static int luas_dasar(){ return x*y;} //fungsi statis
int luas_permukaan();
int volume( );
private:
static int x , y; //x dan y dideklarasikan static
int z ;
}; //akhir dari kelas Kubik
int Kubik :: x = 5; //anggota data statis
int Kubik :: y =8 ; //anggota data statis
int Kubik::luas_permukaan() //definisi dari luas_permukaan()
{
return 2*(x*y +y*z +z*x);
}
int Kubik::volume() //definisi dari volume()
{
return x*y*z;
}
int main()
{
Kubik C1(5), C2(8) ;
cout<<"Luas dasar dari semua objek = "<<Kubik::luas_dasar()<<endl;
cout<<"Volume dari Kubik C1 " <<C1.volume()<<"\n";
cout<<"Volume dari Kubik C2 = "<<C2.volume()<<"\n";
cout<<"Luas permukaan dari C1 = "<<C1.luas_permukaan()<<"\n";
cout<<"Luas permukaan dari C2 = "<<C2.luas_permukaan()<<"\n";
return 0 ;
}
==============================================
#include <iostream>
using namespace std;
class List{
private:
double x ; // x = berat dalam kg, y = harga per kg
double y;
public:
void set_data(double a, double b )
{x = a; y = b;}
void Tampil()
{
cout<<"Berat = "; cin>>x;
cout<<"Harga = "; cin>>y;
cout<<"Harga dari "<<x<<" kg dengan biaya "<<y<<" per kg = "<<x*y<<endl;
}
};
void main()
{
double i,j;
List *ptr= new List ; //menggunakan operator new
(*ptr).set_data(i,j);
ptr -> Tampil(); //(*ptr) dan ptr-> ekivalen
delete ptr;
}
=============================================
#include <iostream>
using namespace std;
class List {
private:
int x,y; //x = jumlah item, y = harga per item
public:
void set_data(int a, int b)
{
x = a;
y = b;
}
void Tampil()
{
cout<<"Jumlah item = "; cin>>x;
cout<<"Harga tiap item = "; cin>>y;
cout<<"Biaya dari "<<x<<" buah item dengan harga "<<y<<" per item = "<<x*y<<endl;
}
}; //akhir dari kelas List
void main()
{
List *ptr= new List[3]; //pointer ke kelas List
for (int k=0; k<3; k++)
{
cout<<"Untuk nomor item " <<k+1<<endl;
int i=0,j=0; //user memasukkan data
(*ptr).set_data(i,j);
ptr -> Tampil();
} // (*ptr) dan ptr-> ekivalen
delete[] ptr;
}
======================================
# include <iostream>
using namespace std;
class Matriks
{
private:
int m, n;
public:
int** Ptr;
Matriks (int B , int K)
{
m = B, n = K ; // B untuk baris dan K untuk kolom
Ptr = new int *[m];
for(int i =0; i<m; i++)
Ptr[i] = new int [n];
}
// Nil_E untuk nilai elemen
void Baca_Elemen()
{
cout<<"Masukkan elemen-elemen dari matriks "<<m<<"x"<<n<<": ";
int Nil_E =0;
for(int b =0; b< m; b++)
for (int k =0; k<n;k++)
{
cin>>Nil_E;
Ptr[b][k] = Nil_E;
}
}
void Tulis_Elemen()
{
for(int s=0; s<m; s++)
{
for(int p=0; p<n; p++)
cout<<Ptr[s][p]<<"\t ";
cout<<endl;
}
}
};
int main()
{
Matriks A(3,3), B(3,3), K(3, 3), D(3,3), E(3,3);
cout<<"Masukkan elemen-elemen dari matriks A dan B.\n";
A.Baca_Elemen();
B.Baca_Elemen();
cout <<"Untuk matriks A, Anda memasukkan elemen-elemen berikut: \n";
A.Tulis_Elemen( );
cout <<"Untuk matriks B, Anda memasukkan elemen-elemen berikut: \n";
B.Tulis_Elemen( );
cout<<"A.Ptr[1][0] = " << A.Ptr[1][0]<< endl;
for (int k = 0; k<3; k++ )
for ( int p =0; p<3; p++)
{
K.Ptr[k][p] = A.Ptr[k][p] + B.Ptr[k][p]; //penjumlahan matriks
D.Ptr[k][p] = A.Ptr[k][p] - B.Ptr[k][p]; //pengurangan matriks
}
for(int J = 0; J<3; J++) //perkalian matriks
for (int K=0; K<3; K++)
{
E.Ptr[J][K] = 0;
for (int S =0; S<3; S++)
E.Ptr[J][K] += A.Ptr[J][S] * B.Ptr[S][K];
}
//Statemen-statemen keluaran
cout<<"Matriks K = Matriks A + Matriks B: "<<endl;
cout<<"Elemen-elemen dari matriks K adalah berikut: "<<endl;
K.Tulis_Elemen();
cout<<"untuk matriks D = Matriks A - Matriks B :"<<endl;
cout<<"Elemen-elemen dari matriks D adalah berikut: "<<endl;
D.Tulis_Elemen();
cout<<"untuk matriks E = Matriks A * Matriks B :"<<endl;
cout<<"Elemen-elemen dari matriks E adalah berikut: "<<endl;
E.Tulis_Elemen();
return 0;
}
Tidak ada komentar:
Posting Komentar