• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 18, 2025, 10:25:55 am

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 18, 2025, 10:25:55 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
H Στοά των Off Topic
by Nikos_313
[Today at 08:53:31]

[Μεταφορά και Διανομή ΗΕ]...
by tzortzis
[Today at 07:55:05]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by chris_p30
[Today at 00:45:33]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 17, 2025, 21:32:50 pm]

[Ψηφιακά Ολοκληρωμένα Κυκ...
by tzortzis
[June 17, 2025, 21:25:42 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[June 17, 2025, 20:59:13 pm]

[Γραφική] Λυμένα θέματα
by okanpala
[June 17, 2025, 18:56:22 pm]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[June 17, 2025, 14:25:00 pm]

Αντικατάστασης πυκνωτή σε...
by george14
[June 17, 2025, 13:58:20 pm]

Πότε θα βγει το μάθημα; -...
by tzortzis
[June 17, 2025, 13:19:53 pm]

Αποτελέσματα Εξεταστικής ...
by george14
[June 17, 2025, 12:08:25 pm]

[ΨEE] Γενικές απορίες και...
by Juror8
[June 17, 2025, 12:06:57 pm]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426707
Total Topics: 31710
Online Today: 215
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 31
Guests: 120
Total: 151
Billyskotsikas
PAPARI69
andreas2000
GP
dedhe
ellimoschou
kkotsopo
chidi anagonye
JoHn!
chris_p30
s
grammaths
aachmet
DJ Stefzia
NET2GRID
John120196
elizabeth
tzortzis
cchristodoulou
mpilas_giwrgos
mike1996
gksp
rafa98p
Mari0s
nikpapoutsi
mimaki
vajim
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Πληροφορίες Καθηγητών
THMMY.gr > Forum > Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα > Περί Υπολογιστών... > Software > Προγραμματισμός (C, VB, Delphi, PHP, ASP...) > C / C++ / C# (Moderators: chatzikys, PolarBear) > deleted
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 Go Down Print
Author Topic: deleted  (Read 3742 times)
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
deleted
« on: June 27, 2010, 23:04:27 pm »

deleted
« Last Edit: June 14, 2015, 19:13:52 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
anonymous-root
Veteran
Καταστραμμένος
******
Posts: 8574


What do you want to troll today?


View Profile
Re: Απροσδόκητο αποτέλεσμα προγράμματος C
« Reply #1 on: June 27, 2010, 23:33:41 pm »

0xFFFFFFFF τυπώνει.

VS 2008 SP1


1>------ Build started: Project: bobmastoras, Configuration: Debug Win32 ------
1>Compiling...
1>bobmastoras.cpp
1>Linking...
1>Embedding manifest...
1>Build log was saved at "file://c:\Users\6\Documents\Visual Studio 2008\Projects\bobmastoras\bobmastoras\Debug\BuildLog.htm"
1>bobmastoras - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Logged
SolidSNK
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 4617


free()'d and attuned


View Profile
Re: Απροσδόκητο αποτέλεσμα προγράμματος C
« Reply #2 on: June 27, 2010, 23:54:47 pm »

Χμμμ ας κάνω και 'γω μια προσπάθεια. Η "λογική" λέει 0x0. Αλλά το >> θα γεμίσει με 1 στην περίπτωση μας επειδή κρατάει το πρόσημο έτσι? Wink


Logged

"Savior, conqueror, hero, villain. You are all things, Revan, and yet you are nothing. In the end you belong to neither the light nor the darkness. You will forever stand alone."
Axel
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1346


The Matrix Has You...


View Profile WWW
Re: Απροσδόκητο αποτέλεσμα προγράμματος C
« Reply #3 on: June 27, 2010, 23:56:46 pm »

Ο unsigned int έχει μέγεθος 32bits. Επομένως επιτρέπεται να του κάνεις shift μέχρι 31 θέσεις. Αν του πεις θέλω 32 shift το αποτέλεσμα θα είναι απλώς ότι του κάτσει.

Ο compiler έτσι όπως είναι γραμμένο δεν θα βγάλει error. Αν όμως γράψεις unsigned int integer=value>>32; θα σου πει πως δεν επιτρέπεται τόσο μεγάλο shift.
Logged

ConvertXtoDVD guide |  Ubuntu 12.10 Quantal Quetzal Post Installation Guide | Fedora 17 Post Installation Guide | free download ConvertxtoDVD | Τεχνολογικό blog | Basic Linux commands
SolidSNK
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 4617


free()'d and attuned


View Profile
Re: Απροσδόκητο αποτέλεσμα προγράμματος C
« Reply #4 on: June 28, 2010, 00:05:27 am »

Quote from: Axel on June 27, 2010, 23:56:46 pm
Ο unsigned int έχει μέγεθος 32bits. Επομένως επιτρέπεται να του κάνεις shift μέχρι 31 θέσεις. Αν του πεις θέλω 32 shift το αποτέλεσμα θα είναι απλώς ότι του κάτσει.

Ο compiler έτσι όπως είναι γραμμένο δεν θα βγάλει error. Αν όμως γράψεις unsigned int integer=value>>32; θα σου πει πως δεν επιτρέπεται τόσο μεγάλο shift.
Α εγώ νόμισα ότι κάπως μπερδεύτηκε ο compiler και νόμισε πως ήταν signed η τιμή. Μάλλον όχι  Huh
Logged

"Savior, conqueror, hero, villain. You are all things, Revan, and yet you are nothing. In the end you belong to neither the light nor the darkness. You will forever stand alone."
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
deleted
« Reply #5 on: June 28, 2010, 00:09:40 am »

deleted
« Last Edit: June 14, 2015, 19:13:51 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
deleted
« Reply #6 on: June 28, 2010, 00:13:25 am »

deleted
« Last Edit: June 14, 2015, 19:13:49 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
deleted
« Reply #7 on: June 28, 2010, 00:25:21 am »

deleted
« Last Edit: June 14, 2015, 19:13:48 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
SolidSNK
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 4617


free()'d and attuned


View Profile
Re: Απροσδόκητο αποτέλεσμα προγράμματος C
« Reply #8 on: June 28, 2010, 00:28:16 am »

Ναι ρε συ αυτό έλεγα εγώ αλλά δεν ισχύει εδώ, ως unsigned βλέπει ο compiler τον operator. Αν είχες signed, τότε το 0xffffffff θα το γέμιζε με `1` ανεξάρτητα το πόσο right shift θα έκανε. Άρα στο %x της printf θα έβγαζε συνέχεια 0xffffffff.
Logged

"Savior, conqueror, hero, villain. You are all things, Revan, and yet you are nothing. In the end you belong to neither the light nor the darkness. You will forever stand alone."
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
deleted
« Reply #9 on: June 28, 2010, 00:55:21 am »

deleted
« Last Edit: June 14, 2015, 19:13:45 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
Issle
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 602



View Profile
Re: Απροσδόκητο αποτέλεσμα προγράμματος C
« Reply #10 on: January 07, 2012, 12:58:00 pm »

Dig up. Βρήκα και εγώ ένα περίεργο ( όχι τόσο , δεν είναι απροσδόκητο ) αλλά με παίδεψε πολύ μέχρι να καταλάβω τι παίζει.


(C++, συντακτικά λάθη και ξεχασμένα include --> ignore.)

Quote
class XMLParser
{
public:
   XMLParser()
   {
      read();
   }

   virtual void readImpl() = 0;

   void read()
   {
      //bla bla
      readImpl();
   }
};

class MyParser: public XMLParser()
{
public:
   MyParser(): XMLParser()
   {

   }

    void readImpl()
    {
      cout <<" Hi from MyParser" << endl;
    }
};

int main()
{
   MyParser* parser = new MyParser();
   return 0;
}

Τι τυπώνει και γιατί ?

« Last Edit: January 07, 2012, 13:08:16 pm by Issle » Logged

We can be a nation that believe in war,
And still tells the world that we don't.
Let the flag for hypocrisy fly high from every pole
We're a little bit country, and we're a little bit rock n' roll
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
deleted
« Reply #11 on: January 07, 2012, 15:57:20 pm »

deleted
« Last Edit: June 14, 2015, 18:37:14 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
Issle
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 602



View Profile
Re: Απροσδόκητο αποτέλεσμα προγράμματος C
« Reply #12 on: January 07, 2012, 17:19:35 pm »

Περίπου σωστό. Δεν θα τυπώσει το cout αλλά για άλλο λόγο. Το παραπάνω ιδίωμα είναι η Pattern Template Method και κανονικά έπρεπε να κληθεί η impl(); π.χ. τρέξε αυτό:

Quote
#include <iostream>

using namespace std;

class A
{
public:
   virtual void callImpl() = 0;

   void call()
   {
      callImpl();
   }
};

class B: public A
{
public:
   void callImpl()
   {
      cout << "Hi from B" << endl;
   }
};

int main()
{
   A* a = new B();

   a->call();
}

Εδώ θα δείς οτι καλεί την impl της Β αντί της abstract.

More here:
http://sourcemaking.com/design_patterns/template_method/cpp/1

Παρά το παραπάνω , ο κώδικας στο πρώτο post δεν θα τυπώσει το αναμενόμενο ...  Smiley
« Last Edit: January 07, 2012, 17:22:52 pm by Issle » Logged

We can be a nation that believe in war,
And still tells the world that we don't.
Let the flag for hypocrisy fly high from every pole
We're a little bit country, and we're a little bit rock n' roll
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


It just doesn't get any easier! It gets worse...


View Profile
deleted
« Reply #13 on: January 07, 2012, 17:39:16 pm »

deleted
« Last Edit: June 14, 2015, 18:37:12 pm by BOBoMASTORAS » Logged

Της γενιάς μου βασιλιά,
μην κατέβεις τα σκαλιά.
Πιες αθάνατο νερό
να νικήσεις τον καιρό.

http://tools.ietf.org/html/rfc1149
The only reason we invent robots
Issle
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 602



View Profile
Re: Απροσδόκητο αποτέλεσμα προγράμματος C
« Reply #14 on: January 07, 2012, 17:43:08 pm »

Quote from: BOBoMASTORAS on January 07, 2012, 17:39:16 pm
Quote from: Issle on January 07, 2012, 17:19:35 pm
Περίπου σωστό. Δεν θα τυπώσει το cout αλλά για άλλο λόγο. Το παραπάνω ιδίωμα είναι η Pattern Template Method και κανονικά έπρεπε να κληθεί η impl(); π.χ. τρέξε αυτό:

Αυτό είναι εντελώς διαφορετικό.... Ουσιαστικά επειδή η Α είναι abstract κλάση ο Α* που έχεις δείχνει στο αντικείμενο τύπου Β και καλείς αντικείμενα-υλοποιήσεις τύπου Β. Αντίθετα στην άλλη περίπτωση το καλείς από τον constructor. ΔΕΝ υπάρχει ακόμη το αντικείμενο Β αφού δεν έχει ολοκληρωθεί η κλήση του constuctor του. Άρα καλείς την readImpl στο scope του Α στο οποίο η readImpl είναι pure virtual και δε μπορεί να κληθεί.

Yap Smiley Γιατί δεν περίμενες κανέναν άλλον ? Wink Ουσιαστικά το verdict είναι ότι δεν καλείς template method μέσα στον constructor της base class γιατί δεν έχει δημιουργηθεί ακόμη το αντικείμενο που υλοποιεί την pure virtual. Στη C++, γιατί στην java :
Quote

public class MainClass {

   public abstract static class A
   {
      public A()
      {
         run();
      }
      
      public void run()
      {
         runImpl();
      }
      
      public abstract void runImpl();
   }
   
   public static class B extends A
   {

      public B()
      {
         super();
      }
      
      @Override
      public void runImpl()
      {
         System.out.println("Hi from B");
      }
      
   }
   
   public static void main(String[] args) {
      A a = new B();
   }

}

Έχοντας συνηθήσει από την java όπου κάτι τέτοιο,είναι απολύτως φυσιολογικό, μου φάνηκε αρκετά στρυφνό να το χωνέψω στη C++ Smiley

Και για να τρολλάρουμε και λίγο :

Who's got a better inheritence model ? Wink
« Last Edit: January 07, 2012, 17:53:57 pm by Issle » Logged

We can be a nation that believe in war,
And still tells the world that we don't.
Let the flag for hypocrisy fly high from every pole
We're a little bit country, and we're a little bit rock n' roll
Pages: [1] 2 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...