5 1 includeiostream using namespace std Simple Class

  • Slides: 32
Download presentation

Приклад 5. 1. Створення і використання класу #include<iostream> Виконати using namespace std; // Оголошення

Приклад 5. 1. Створення і використання класу #include<iostream> Виконати using namespace std; // Оголошення класу Simple. Class: class Simple. Class{ public: // Цілочисельне поле: int number; }; int main(){ // Створення об'єкту My. Obj класу Simple. Class: Simple. Class My. Obj; // Полю об'єкта присвоюється значення: My. Obj. number=5; cout<<"Object field value is "<<My. Obj. number<<"n"; return 0; } 10

Приклад 5. 2. Декілька об'єктів #include<iostream> Зверніть увагу using namespace std; class Simple. Class{

Приклад 5. 2. Декілька об'єктів #include<iostream> Зверніть увагу using namespace std; class Simple. Class{ public: int number; }My. Obj 1, My. Obj 2; Зверніть увагу int main(){ My. Obj 1. number=5; My. Obj 2. number=++My. Obj 1. number; cout<<"Object field value is "<<My. Obj 2. number<<"n"; return 0; } Виконати 11

Приклад 5. 3. Декілька об'єктів class Simple. Class{ public: int m, n; int summa(){

Приклад 5. 3. Декілька об'єктів class Simple. Class{ public: int m, n; int summa(){ int k=n+m; return k; } void show(){ cout<<"m = "<<m<<endl; cout<<"n = "<<n<<endl; } void mult(int k){ n*=k; m*=k; } }; 12

Приклад 5. 3. Декілька об'єктів (продовження) int main(){ Simple. Class My. Obj 1, My.

Приклад 5. 3. Декілька об'єктів (продовження) int main(){ Simple. Class My. Obj 1, My. Obj 2; My. Obj 1. m=1; My. Obj 1. n=2; My. Obj 2. m=8; My. Obj 2. n=9; cout<<"Total vaue for My. Obj 1 is "<<My. Obj 1. summa()<<endl; cout<<"Total value for My. Obj 2 is "<<My. Obj 2. summa()<<endl; My. Obj 1. mult(3); My. Obj 2. mult(2); My. Obj 1. show(); My. Obj 2. show(); Виконати return 0; } 13

Приклад 5. 4. Закриті і відкриті члени класу (продовження) int main(){ Simple. Class obj;

Приклад 5. 4. Закриті і відкриті члени класу (продовження) int main(){ Simple. Class obj; obj. setnm(1, 2); obj. show(); return 0; } //Опис методів класу: void Simple. Class: : show(){ cout<<"m = "<<m<<endl; cout<<"n = "<<n<<endl; } void Simple. Class: : setnm(int i, int j){ m=i; n=j; } Виконати 15

Приклад 5. 5. Статичні поля класу (продовження) int main(){ Simple. Class: : m=10; obj

Приклад 5. 5. Статичні поля класу (продовження) int main(){ Simple. Class: : m=10; obj 1. n=1; obj 2. n=2; obj 1. show(); obj 2. show(); obj 1. m=100; obj 2. show(); return 0; } Виконати void Simple. Class: : show(){ cout<<"Static field m = "<<m<<endl; cout<<"Nonstatic field n = "<<n<<endl; } 17

Приклад 5. 8. Результат функції - об'єкт (продовження) Class. A sum. AB(Class. A obj

Приклад 5. 8. Результат функції - об'єкт (продовження) Class. A sum. AB(Class. A obj 1, Class. B obj 2){ Class. A tmp; tmp. x=obj 1. x+obj 2. a; tmp. y=obj 1. y+obj 2. b; return tmp; } ЗВЕРНІТЬ УВАГУ!!! int main(){ Class. A obj; obj. A. x=2. 5; obj. A. y=3. 6; obj. B. a=2; obj. B. b=5; obj=sum. AB(obj. A, obj. B); cout<<"x = "<<obj. x<<endl; cout<<"y = "<<obj. y<<endl; return 0; } Виконати 21

Приклад 5. 10. Використання вказівника this class My. Class{ public: int n, m; void

Приклад 5. 10. Використання вказівника this class My. Class{ public: int n, m; void show(){cout<<"m = "<<this->m<<endl; cout<<"n = "<<this->n<<endl; } void setmn(int m, int n){this->m=m; this->n=n; } My. Class change(){ int k; k=m; m=n; n=k; return *this; } }; int main(){ My. Class a, b; a. setmn(10, 20); b=a. change(); a. show(); b. show(); return 0; } Виконати ЗВЕРНІТЬ УВАГУ!!! 23

Приклад 5. 13. Дружні функції - 2 class B; class A{ double x; public:

Приклад 5. 13. Дружні функції - 2 class B; class A{ double x; public: A(double z){x=z; } friend double summa(A a, B b); }a(3. 5); class B{ double y; public: B(double z){y=z; } friend double summa(A a, B b); }b(2. 3); double summa(A a, B b){ return a. x+b. y; } int main(){cout<<"Total is "<<summa(a, b)<<endl; return 0; } Виконати ЗВЕРНІТЬ УВАГУ!!! 26

Приклад 5. 16. Перевантаження конструктора class My. Class{ public: int m, n; My. Class(){m=0;

Приклад 5. 16. Перевантаження конструктора class My. Class{ public: int m, n; My. Class(){m=0; n=0; } My. Class(int a){m=a; n=a; } My. Class(int a, int b){m=a; n=b; } void show(){ cout<<"m = "<<m<<endl; cout<<"n = "<<n<<endl; } }; int main(){ My. Class obj 1; My. Class obj 2(1); My. Class obj 3(2, 3); obj 1. show(); obj 2. show(); obj 3. show(); return 0; } Виконати ЗВЕРНІТЬ УВАГУ!!! 30

Приклад 5. 17. Використання деструктора class My. Class{ public: int m, n; //Конструктор класу:

Приклад 5. 17. Використання деструктора class My. Class{ public: int m, n; //Конструктор класу: My. Class(){ m=0; n=0; cout<<"Object has been created"<<endl; } //Деструктор класу: ~My. Class(){ cout<<"Object has been deleted"<<endl; } }; int main(){ My. Class obj; return 0; } Виконати ЗВЕРНІТЬ УВАГУ!!! 31