🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #17307

Re: vectors,strings en klassen in c++

#17307
From: Wim Dumon
Date: Tue, 11 Jan 2000 00:00
86 lines
2470 bytes
Steven Wuyts wrote:
> 
> Hallo,
> 
> een vraagje voor de c++ers onder jullie :
> 

My personal little guess onder een 'it works for me' disclaimer:

#include<algorithm>
#include<string>
#include<vector>
#include<iostream>
#include<fstream>

class film
{
public:
  film(string Titel, int UitgifteJaar, double Ranking):
    Titel(Titel), UitgifteJaar(UitgifteJaar), Ranking(Ranking) {}
  int Jaar() const { return UitgifteJaar; }
private:
    string Titel;
    int UitgifteJaar;
    double Ranking;
};

struct cmp_film
{
  bool operator()(const film *f1, const film *f2) const
    { return f1->Jaar() < f2->Jaar(); }
};

int main()
{
  film f1("terminator 1", 1992, 0.1);
  film f2("terminator 2", 1995, 0.2);
  film f3("terminator 3", 1996, 0.3);
  film f4("terminator 4", 1997, 0.4);
  film f5("terminator 5", 1998, 0.5);

  vector<film *> mdb;
  mdb.push_back(&f2); mdb.push_back(&f4); mdb.push_back(&f1);
  mdb.push_back(&f3); mdb.push_back(&f5);

  cout << "max is " 
    << (*max_element(mdb.begin(), mdb.end(), cmp_film()))->Jaar() 
    << endl;
  cout << "min is " 
    << (*min_element(mdb.begin(), mdb.end(), cmp_film()))->Jaar() 
    << endl;

  cout << "unsorted" << endl;
  for(vector<film *>::const_iterator i = mdb.begin();
      i != mdb.end(); ++i)
    cout << (*i)->Jaar() << endl;

  sort(mdb.begin(), mdb.end(), cmp_film());

  cout << "sorted" << endl;
  for(vector<film *>::const_iterator i = mdb.begin();
      i != mdb.end(); ++i)
    cout << (*i)->Jaar() << endl;
  return 0;
}

output:
max is 1998
min is 1992
unsorted
1995
1997
1992
1996
1998
sorted
1992
1995
1996
1997
1998

compiler is gcc 2.95

Welcome to the STL,
Wim.
Technical Details
Message-ID: <387B405E.83933CE@easics.be>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <AQ_d4.2224$SC2.20178@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,300fe2dc8427b390
X-Google-Attributes: gidfcea4,public
From: Wim Dumon <wim@easics.be>
Subject: Re: vectors,strings en klassen in c++
Date: 2000/01/11
Message-ID: <387B405E.83933CE@easics.be>
X-Deja-AN: 571193475
Content-Transfer-Encoding: 7bit
References: <AQ_d4.2224$SC2.20178@afrodite.telenet-ops.be>
X-Accept-Language: en
Content-Type: text/plain; charset=us-ascii
X-Complaints-To: helpdesk@kpnqwest.net
X-Trace: nreader3.kpnqwest.net 947601524 193.74.198.7 (Tue, 11 Jan 2000 15:38:44 MET)
Organization: Easics nv, Leuven, Belgium, http://www.easics.com
MIME-Version: 1.0
NNTP-Posting-Date: Tue, 11 Jan 2000 15:38:44 MET
Newsgroups: be.comp.programming