/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
C++ hjælp
Fra : Dr.Iskold


Dato : 04-03-01 18:35

hej læser!


Hvordan kan jeg tælle på et objekt.funktion(), ligesom fx.n++, jeg skal
tælle fra et objekt tal til et andet objekt tal. jeg kan ikke gøre
objekt.funktion()++.

Dr.Iskold



 
 
Daniel Schledermann (04-03-2001)
Kommentar
Fra : Daniel Schledermann


Dato : 04-03-01 19:54


Dr.Iskold <hep@worldonline.dk> skrev i en
nyhedsmeddelelse:l4vo6.3024$jy5.277558@news010.worldonline.dk...
> Hvordan kan jeg tælle på et objekt.funktion(), ligesom fx.n++, jeg skal
> tælle fra et objekt tal til et andet objekt tal. jeg kan ikke gøre
> objekt.funktion()++.

Jeg tror ikke jeg helt forstår.
- Er det en attribut der skal ++'es?
- Er det "selve objektet" der skal ++'es?
- Eller er det resultatet af medlemsfunktionen der skal ++'es?




Dr.Iskold (04-03-2001)
Kommentar
Fra : Dr.Iskold


Dato : 04-03-01 19:57

Dr.Iskold
jeg har 2 tidsobjekter og en metode der sætter et sekund frem, denne metode
vil jeg gerne ++ til den når det andet tidsobjekt.

while (set_tid.setNext() <= alarm.reset(alarm_timer, alarm_minutter,
alarm_sekunder));
{
set_tid.setNext() ++;
}



"Daniel Schledermann" <daniel@schledermann.net> skrev i en meddelelse
news:97u2jd$jcp$1@news.inet.tele.dk...
>
> Dr.Iskold <hep@worldonline.dk> skrev i en
> nyhedsmeddelelse:l4vo6.3024$jy5.277558@news010.worldonline.dk...
> > Hvordan kan jeg tælle på et objekt.funktion(), ligesom fx.n++, jeg skal
> > tælle fra et objekt tal til et andet objekt tal. jeg kan ikke gøre
> > objekt.funktion()++.
>
> Jeg tror ikke jeg helt forstår.
> - Er det en attribut der skal ++'es?
> - Er det "selve objektet" der skal ++'es?
> - Eller er det resultatet af medlemsfunktionen der skal ++'es?
>
>
>



Igor V. Rafienko (04-03-2001)
Kommentar
Fra : Igor V. Rafienko


Dato : 04-03-01 20:11

* hep@worldonline.dk


> jeg har 2 tidsobjekter og en metode der sætter et sekund frem, denne
> metode vil jeg gerne ++ til den når det andet tidsobjekt.
>
> while ( set_tid.setNext() <=
> alarm.reset(alarm_timer, alarm_minutter, alarm_sekunder) );
                         ^


trykkfeil?


> {
> set_tid.setNext() ++;
> }


Det virker da utrolig rart. Hvis du har et tidsobjekt (set_tid er,
imvho, et litt misvisende navn for et _objekt_), og vil øke denne med
1 tidsenhet, burde man nesten gjøre noe slikt:

++set_tid;

(altså, hvis man absolutt vil bruke operator overloading).

Dersom setNext() returnerer *this (altså, objektet selv) som du så vil
bruke op++(int) på, er det bare å definere de tilsvarende
pre/post-increment operatorne (og da burde man i samme slengen
definere op+=).

Hva er problemet rent konkret?





ivr, forvirret
PS. Er du sikkert på at du vil bruke _post_increment framfor
preincrement? Du blir nødt til å lage en kopi av tidsobjektet ditt
(eller hva det nå enn var som setNext returnerte)
--
Besides, meat tends to run away when possible, or fights. Either
response presents behavioral challenges too complex for any existing
robot.
      -- Stuart Wilkinson, inventor of the "gastrobot"

Dr.Iskold (04-03-2001)
Kommentar
Fra : Dr.Iskold


Dato : 04-03-01 20:45

#include <iostream.h>
#include <conio.h>
#include "Clock.h"

int main()

{
Clock set_tid(24,0,0);
Clock alarm(24,0,0);

int timer, minutter, sekunder;
int alarm_timer, alarm_minutter, alarm_sekunder;
char besked;
//int n;
//int a;

cout<<"Indtast klokke tidspunkt hh, mm, ss:"<<endl;
cin >> timer >> minutter >> sekunder;
set_tid.reset(timer, minutter, sekunder);
cout<<"Sat tid:
"<<set_tid.hour()<<":"<<set_tid.minute()<<":"<<set_tid.second()<<endl;


cout<<"Indtast tidspunkt, naar alarmen skal ses hh, mm, ss:"<<endl;
cin >> alarm_timer >> alarm_minutter >> alarm_sekunder;
alarm.reset(alarm_timer, alarm_minutter, alarm_sekunder);
cout<<"Alarm tidspunkt:
"<<alarm.hour()<<":"<<alarm.minute()<<":"<<alarm.second()<<endl;

cout<<"Indtast den besked, du gerne vil se, naar alarmen gaar :";
cin >>besked;

set_tid.setNext();
cout<<"Alarm tidspunkt:
"<<set_tid.hour()<<":"<<set_tid.minute()<<":"<<set_tid.second()<<endl;

//while (set_tid.setNext() <= alarm.reset(alarm_timer, alarm_minutter,
alarm_sekunder));
// {
// n++;
// }
//
getch();
return 0;
}
problemet er at jeg ikke kan tælle på set_tid.setNext();
klassen clock er hjemmelavet

"Igor V. Rafienko" <igorr@ifi.uio.no> skrev i en meddelelse
news:xjvbsrhxscq.fsf@jarn.ifi.uio.no...
> * hep@worldonline.dk
>
>
> > jeg har 2 tidsobjekter og en metode der sætter et sekund frem, denne
> > metode vil jeg gerne ++ til den når det andet tidsobjekt.
> >
> > while ( set_tid.setNext() <=
> > alarm.reset(alarm_timer, alarm_minutter, alarm_sekunder) );
> ^
>
>
> trykkfeil?
>
>
> > {
> > set_tid.setNext() ++;
> > }
>
>
> Det virker da utrolig rart. Hvis du har et tidsobjekt (set_tid er,
> imvho, et litt misvisende navn for et _objekt_), og vil øke denne med
> 1 tidsenhet, burde man nesten gjøre noe slikt:
>
> ++set_tid;
>
> (altså, hvis man absolutt vil bruke operator overloading).
>
> Dersom setNext() returnerer *this (altså, objektet selv) som du så vil
> bruke op++(int) på, er det bare å definere de tilsvarende
> pre/post-increment operatorne (og da burde man i samme slengen
> definere op+=).
>
> Hva er problemet rent konkret?
>
>
>
>
>
> ivr, forvirret
> PS. Er du sikkert på at du vil bruke _post_increment framfor
> preincrement? Du blir nødt til å lage en kopi av tidsobjektet ditt
> (eller hva det nå enn var som setNext returnerte)
> --
> Besides, meat tends to run away when possible, or fights. Either
> response presents behavioral challenges too complex for any existing
> robot.
> -- Stuart Wilkinson, inventor of the "gastrobot"



Igor V. Rafienko (05-03-2001)
Kommentar
Fra : Igor V. Rafienko


Dato : 05-03-01 10:15

* hep@worldonline.dk

[snip]

> problemet er at jeg ikke kan tælle på set_tid.setNext();
> klassen clock er hjemmelavet


Takk for snutten, men den svarte fremdeles ikke på spørsmålet mitt:
_hva_ returnerer setNext()? Hvis det er en int, så kan du ikke
applisere op++(int) på denne (husker ikke hvor det står i standarden i
farten). Hvis den returnerer noe annet (og da er det kanskje lurt å
poste definisjonen av setNext()), så kan det hende det er noen
muligheter.

[snip excessive quoting]





ivr
--
Besides, meat tends to run away when possible, or fights. Either
response presents behavioral challenges too complex for any existing
robot.
      -- Stuart Wilkinson, inventor of the "gastrobot"

Dr.Iskold (05-03-2001)
Kommentar
Fra : Dr.Iskold


Dato : 05-03-01 18:27

har løst det
while((set_tid.hour() != alarm.hour()) || (set_tid.minute() !=
alarm.minute()) || (set_tid.second() != alarm.second()))
{
set_tid.setNext();
}

"Igor V. Rafienko" <igorr@ifi.uio.no> skrev i en meddelelse
news:xjv4rx8ziev.fsf@bilskirnir.ifi.uio.no...
> * hep@worldonline.dk
>
> [snip]
>
> > problemet er at jeg ikke kan tælle på set_tid.setNext();
> > klassen clock er hjemmelavet
>
>
> Takk for snutten, men den svarte fremdeles ikke på spørsmålet mitt:
> _hva_ returnerer setNext()? Hvis det er en int, så kan du ikke
> applisere op++(int) på denne (husker ikke hvor det står i standarden i
> farten). Hvis den returnerer noe annet (og da er det kanskje lurt å
> poste definisjonen av setNext()), så kan det hende det er noen
> muligheter.
>
> [snip excessive quoting]
>
>
>
>
>
> ivr
> --
> Besides, meat tends to run away when possible, or fights. Either
> response presents behavioral challenges too complex for any existing
> robot.
> -- Stuart Wilkinson, inventor of the "gastrobot"



Dr.Iskold (04-03-2001)
Kommentar
Fra : Dr.Iskold


Dato : 04-03-01 20:46

#include <iostream.h>
#include <conio.h>
#include "Clock.h"

int main()

{
Clock set_tid(24,0,0);
Clock alarm(24,0,0);

int timer, minutter, sekunder;
int alarm_timer, alarm_minutter, alarm_sekunder;
char besked;
//int n;
//int a;

cout<<"Indtast klokke tidspunkt hh, mm, ss:"<<endl;
cin >> timer >> minutter >> sekunder;
set_tid.reset(timer, minutter, sekunder);
cout<<"Sat tid:
"<<set_tid.hour()<<":"<<set_tid.minute()<<":"<<set_tid.second()<<endl;


cout<<"Indtast tidspunkt, naar alarmen skal ses hh, mm, ss:"<<endl;
cin >> alarm_timer >> alarm_minutter >> alarm_sekunder;
alarm.reset(alarm_timer, alarm_minutter, alarm_sekunder);
cout<<"Alarm tidspunkt:
"<<alarm.hour()<<":"<<alarm.minute()<<":"<<alarm.second()<<endl;

cout<<"Indtast den besked, du gerne vil se, naar alarmen gaar :";
cin >>besked;

set_tid.setNext();
cout<<"Alarm tidspunkt:
"<<set_tid.hour()<<":"<<set_tid.minute()<<":"<<set_tid.second()<<endl;

//while (set_tid.setNext() <= alarm.reset(alarm_timer, alarm_minutter,
alarm_sekunder));
// {
// n++;
// }
//
getch();
return 0;
}
problemet er at jeg ikke kan tælle på set_tid.setNext();
klassen clock er hjemmelavet




Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste