Вказівники на вказівники

В наступній програмі 20.20 ми розглянемо масив вказівників на об’єкти і покажемо, як можна просортувати ці вказівники, опираючись на дані, що містяться в об’єктах. Тут з’являється ідея вказівників на вказівники.

Завдання програми 20.20: створити масив вказівників на об’єкти класу person. Програма включає функції order() та bsort() для сортування групи об’єктів класу person, виходячи з алфавітного порядку імен.

#include<iostream.h>

#include<conio.h>

#include<stdio.h>

#include<bios.h>

#include<string.h>

class person

{protected:

char* name;

public:

void setname()

{cout<<”Name=”;cin>>name;}

void printname()

{cout<<endl<<name;}

char* getname()

{return name;}

 

};

///////////////

int main()

{clrscr();

void bsort(person**,int);//prototyp

person* persPtr[100];

int n=0;

char choice;

do

{persPtr[n]=new person;

persPtr[n]->setname();

n++;

cout<<”Continue(y/n)?”;

cin>>choice;

} while(choice==’y’);

cout<<”\nНесортований список:”;

for(int j=0;j<n;j++)

persPtr[j]->printname();

bsort(persPtr,n);

cout<<”\nСортований список:”;

for(j=0;j<n;j++)

persPtr[j]->printname();

cout<<endl;

bioskey(0);

return 0;

}

//////////

void bsort(person** pp,int n)

{void order(person**,person**);

int j,k;

for(j=0;j<n-1;j++)

for(k=j+1;k<n;k++)

order(pp+j,pp+k);

}

//////////

void order(person** pp1,person** pp2)

{if((*pp1)->getname()>(*pp2)->getname())

{person* tempptr=*pp1;

*pp1=*pp2;

*pp2=tempptr;

}

 

}

Програма 20.20

 








Дата добавления: 2015-08-26; просмотров: 574;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.