• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 00:06:49 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 17, 2025, 00:06:49 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ισραήλ - Ιράν: Πόλεμος στ...
by Yamal
[June 16, 2025, 23:46:31 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 Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

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

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

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 16, 2025, 12:01:53 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[June 16, 2025, 10:22:18 am]

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

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

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

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]

Έναρξη Δηλώσεων Συμμετοχή...
by IEEE SB
[June 14, 2025, 00:10:19 am]
Στατιστικά
Members
Total Members: 9960
Latest: valco08
Stats
Total Posts: 1426678
Total Topics: 31711
Online Today: 164
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 51
Guests: 110
Total: 161
apal
Το παγώνι
Yamal
thaliatsk
Summand
theofr
dinoschalv
Zoe06
mprova
kostas1507
chaniotism
chrisg
lasef
Elenit
Saint_GR
boulionis
Pakapis5
AlexKyr
Athinaaz
sassi
kpap17
George15
nikd
george14
parvanitid
ArchieHadCells
mavropan
evax
kouf
alex_samaras_
dimitrisblioumis
taniakrg
agapi
LambisTr
abiki
Tsomp
Giorgos2222
alababamas4444
Η ΤΡΑΠΟΥΛΑ ΤΟΥ ΠΑΠΠΟΥ ΜΟΥ
Mr Watson
maestros
Mr Z
Leftor
Nikos_313
cchristodoulou
AODON
Εμφάνιση

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

Νέα!
Πληροφορίες Καθηγητών
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > Απορίες στη C++
0 Members and 1 Guest are viewing this topic.
Pages: 1 ... 25 26 [27] Go Down Print
Author Topic: Απορίες στη C++  (Read 52093 times)
BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


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


View Profile
Re: Απορίες στη C++
« Reply #390 on: September 04, 2012, 15:52:28 pm »

Quote from: nikitas350 on September 04, 2012, 14:21:23 pm
Γιατι αλλο πραμα η C++, αλλο πραμα η C. Ειναι δυο τελειως ξεχωριστες γλωσσες.
Το void για return στην main δείχνει την γελοιότητα του Κορτέση.
Για το void ως argument στην C++ με καλύπτει αυτό:

http://stackoverflow.com/questions/51032/is-there-a-difference-between-foovoid-and-foo-in-c-or-c


Συμφωνώ.

Το να δηλώσεις στη λίστα των ορισμάτων void στη C++ δε λέει τίποτα, αλλά είναι καθ' όλα σωστό και μάλιστα πολλά coding standards λένε να το δηλώνεις για να τονίζεις το γεγονός ότι η συνάρτηση δε δέχεται ορίσματα. Άλλωστε όπως λέει και το link που παρέθεσες:

Quote
In C++:
void foo() means "a function foo taking no arguments"
void foo(void) means "a function foo taking no arguments"

Και οι 2 τρόποι σύνταξης είναι ισσοδύναμοι. Δεν υπάρχει λόγος να χρησιμοποιήσεις τον έναν έναντι του άλλου, πέρα από τα coding standards τα οποία πολλές φορές είναι υποκειμενικά. Είναι και το θέμα συμβατότητας που αναφέρεις, αλλά είναι πολύ συγκεκριμένες οι περιπτώσεις που θα πρέπει να σε απασχολεί αυτό.

Το θέμα είναι όπως πολύ σωστά αναφέρεις, ο επιστρεφόμενος τύπος. Το πρότυπο αναφέρει ότι η main πρέπει να επιστρέφει int. Το γεγονός ότι ο g++ (και άλλοι compiler) το δέχεται(?) δε σημαίνει ότι είναι σωστό ή ότι θα το δέχονται όλοι οι compiler. Μάλιστα η επιστρεφόμενη τιμή στο λειτουργικό είναι σε αυτή τη περίπτωση σκουπίδια. Συγκεκριμένα το λειτουργικό συνήθως παίρνει ως επιστρεφόμενη τιμή τη τελευταία τιμή που επιστράφηκε από την τελευταία κλήση
Μάλιστα ο g++ στις καινούργιες εκδόσεις δε το δέχεται καθόλου, ενώ παλιά εμφάνιζε warning.  Βέβαια για να είμαστε σωστοί το πρότυπο της C (όχι C++) επιτρέπει σε συγκεκριμένες υλοποιήσεις ο επιστρεφόμενος τύπος να είναι void. Πχ σε έναν compiler για standalone εφαρμογές πάνω σε μικροελεγκτή. Σε αυτή την περίπτωση δεν υπάρχει λειτουργικό. Η περίπτωση αυτή ονομάζεται freestanding environment και μόνο τότε το πρότυτο της C αναφέρει ότι ο τύπος της main είναι implementation defined.

Quote
Working Draft, Standard for Programming
            Language C++

  An implementation shall not predefine the main function. This function shall not be overloaded. It shall have a return
  type of type int
, but otherwise its type is implementation-defined. All implementations shall allow both of the following
  definitions of main

  int main () { / ∗      ∗/ }
                     ...
and
  int main ( int argc , char * argv []) { / ∗     ∗/ }
                                              ...

Code:
#include <stdio.h>

int fun(void){
        return 10;
}

void main(void){
        fun();
}

Code:
bob@domain:~$ gcc test.c
bob@domain:~$ ./a.out
bob@domain:~$ echo $?
10


Code:
#include <iostream>

void main(void){
        std::cout<<"a"<<std::endl;
        return 0;
}

Quote
bob@domain:~$ g++ test.cpp
test.cpp:4: error: ‘::main’ must return ‘int’

Το τραγικό όμως είναι το

Quote
#include <iostream.h>

Εντελώς εκτός προτύπου και σε όλους τους σύγχρονους compiler:

Code:
#include <iostream.h>

int main(void){
        std::cout<<"test"<<std::endl;
        return 0;
}

Quote
test.cpp:1:22: error: iostream.h: No such file or directory
test.cpp: In function ‘int main()’:
test.cpp:5: error: ‘cout’ is not a member of ‘std’
test.cpp:5: error: ‘endl’ is not a member of ‘std’


« Last Edit: September 04, 2012, 17:41:00 pm by BOBoMASTORAS » Logged

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

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


We are the Harbinger of your perfection.


View Profile
Re: Απορίες στη C++
« Reply #391 on: September 04, 2012, 16:07:16 pm »

Και περιμενουμε καποιος, του οποιου ο κωδικας δεν κανει καν compile (και ας μην μιλησω για τις Προγραμματιστικες """"Τεχνικες"""" που χρησιμοποιει), να μας μαθει C++ και να μας βαθμολογησει σωστα πανω σε αυτην.
Logged

This one doesn't have time for your solid waste excretions.
AgentCain
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Male
Posts: 3587


Σοφράνο βρίσε, σταβέντο φτύσε!


View Profile
Re: Απορίες στη C++
« Reply #392 on: September 04, 2012, 16:14:04 pm »

Όπως είπε και ο Bjarne Stroustrup, "Within C++, there is a much smaller and cleaner language struggling to get out. And no, that smaller and cleaner language is not Java or C#."  Tongue

Quote from: Infinite Loop on September 04, 2012, 16:07:16 pm
Και περιμενουμε καποιος, του οποιου ο κωδικας δεν κανει καν compile (και ας μην μιλησω για τις Προγραμματιστικες """"Τεχνικες"""" που χρησιμοποιει), να μας μαθει C++ και να μας βαθμολογησει σωστα πανω σε αυτην.

Ε μη κολλάς μόνο στις προγραμματιστικές τεχνικές, σε πολλά μαθήματα γίνεται αυτό. Απλά το βασικό θέμα είναι ο τρόπος εξέτασης. Όπως και στα μίκρο, έτσι και στη C,C++ το να γράψεις κώδικα στο χαρτί (και όχι διάγραμμα ή ψευδογλώσσα ξέρω γω) είναι αρκετά έως πολύ δύσκολο (αν και όχι ακατόρθωτο). Σε γενικές γραμμές πάντως είναι βλακώδες και καλά θα είναι να βρεθεί λύση.
« Last Edit: September 04, 2012, 16:16:38 pm by AgentCain » Logged


Ανάμεσα σ'αυτό που σκέφτομαι, σ'αυτό που θέλω να σας πω, σ'αυτό που πιστεύω ότι σας λέω, σ'αυτό που σας λέω, σ'αυτό που θέλετε να ακούσετε, σ'αυτό που ακούτε, σ'αυτό που πιστεύετε ότι καταλαβαίνετε, σ'αυτό που θέλετε να καταλάβετε και σ'αυτό που καταλαβαίνετε υπάρχουν τουλάχιστον 9 πιθανότητες να μην συννενοηθούμε.

BOBoMASTORAS
Veteran
Καταστραμμένος
******
Posts: 6082


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


View Profile
Re: Απορίες στη C++
« Reply #393 on: September 04, 2012, 16:21:32 pm »

Quote from: Infinite Loop on September 04, 2012, 16:07:16 pm
Και περιμενουμε καποιος, του οποιου ο κωδικας δεν κανει καν compile (και ας μην μιλησω για τις Προγραμματιστικες """"Τεχνικες"""" που χρησιμοποιει), να μας μαθει C++ και να μας βαθμολογησει σωστα πανω σε αυτην.

Ε στον borland compiler κάνει Tongue

Και δεν αναφέρομαι μόνο στον παλιό που χρησιμοποιεί ο κορτέσης. Ο Visual Borland compiler ο οποίος είναι σύγχρονος compiler είναι πολύ χαλαρός όσο αναφορά τα πρότυπα. Οπότε παίζει εκεί να κάνει compile ο κώδικας. Το θέμα είναι ότι ο κώδικας είναι εκτός προτύπου. Τώρα τι σημασία έχει αυτό, το κρίνει ο καθένας μόνος του.....
Logged

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

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


We are the Harbinger of your perfection.


View Profile
Re: Απορίες στη C++
« Reply #394 on: September 04, 2012, 17:03:07 pm »

Quote from: AgentCain on September 04, 2012, 16:14:04 pm
Ε μη κολλάς μόνο στις προγραμματιστικές τεχνικές, σε πολλά μαθήματα γίνεται αυτό. Απλά το βασικό θέμα είναι ο τρόπος εξέτασης. Όπως και στα μίκρο, έτσι και στη C,C++ το να γράψεις κώδικα στο χαρτί (και όχι διάγραμμα ή ψευδογλώσσα ξέρω γω) είναι αρκετά έως πολύ δύσκολο (αν και όχι ακατόρθωτο). Σε γενικές γραμμές πάντως είναι βλακώδες και καλά θα είναι να βρεθεί λύση.

Μα και εκει κολλαω... Και αυτο ακουω συμβαινει και σε πολλα τμηματα Πληροφορικης ανα την Υφηλιο στην υπολοιπη Ελλαδα... Παντως αμα μου βαλει κακο βαθμο εγω θα του πω "στο χαρτι που εκανα compile τον κωδικα, αυτος ετρεχε μια χαρα"!
Logged

This one doesn't have time for your solid waste excretions.
Issle
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 602



View Profile
Re: Απορίες στη C++
« Reply #395 on: September 04, 2012, 17:35:09 pm »

Quote from: Infinite Loop on September 04, 2012, 17:03:07 pm
Quote from: AgentCain on September 04, 2012, 16:14:04 pm
Ε μη κολλάς μόνο στις προγραμματιστικές τεχνικές, σε πολλά μαθήματα γίνεται αυτό. Απλά το βασικό θέμα είναι ο τρόπος εξέτασης. Όπως και στα μίκρο, έτσι και στη C,C++ το να γράψεις κώδικα στο χαρτί (και όχι διάγραμμα ή ψευδογλώσσα ξέρω γω) είναι αρκετά έως πολύ δύσκολο (αν και όχι ακατόρθωτο). Σε γενικές γραμμές πάντως είναι βλακώδες και καλά θα είναι να βρεθεί λύση.

Μα και εκει κολλαω... Και αυτο ακουω συμβαινει και σε πολλα τμηματα Πληροφορικης ανα την Υφηλιο στην υπολοιπη Ελλαδα... Παντως αμα μου βαλει κακο βαθμο εγω θα του πω "στο χαρτι που εκανα compile τον κωδικα, αυτος ετρεχε μια χαρα"!

Κοίτα γενικά οι καθηγητές από κάποια ηλικία και έπειτα τα παρατάνε. Έχουν πόστο διοικητικό. Ιδιαίτερα στον προγραμματισμό που τα πράγματα εξελίσσονται αρκετά γρήγορα, δεν θα βρεις εύκολα καθηγητές που να είναι up-to-date. Διδακτορικούς ίσως βρεις πιο εύκολα.
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
johnvoyager
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 596


we are the enemies of reality


View Profile WWW
Re: Απορίες στη C++
« Reply #396 on: September 05, 2012, 21:24:16 pm »

Μπορεί να ανεβάσει κανείς λύση απο το 2ο θέμα του φεβρουαρίου2012Α ?  (αυτό με τα κυκλώματα)  beg
Logged
020400e
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 164


View Profile
Re: Απορίες στη C++
« Reply #397 on: November 10, 2012, 21:25:12 pm »

Μια γενική απορία για τη C++... Οι κλάσεις πρέπει να γράφονται πριν την main ή μετά ή δεν έχει σημασία?
Logged
Grecs
Καταστραμμένος
********
Gender: Male
Posts: 6379


Lived in the air died on asphalt


View Profile
Re: Απορίες στη C++
« Reply #398 on: November 10, 2012, 21:59:54 pm »

Quote from: 020400e on November 10, 2012, 21:25:12 pm
Μια γενική απορία για τη C++... Οι κλάσεις πρέπει να γράφονται πριν την main ή μετά ή δεν έχει σημασία?
try it
Logged

"I wish punk, pizza, coke, and skateboarding could be combined into one thing that I could taste, look at or play with."
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: Απορίες στη C++
« Reply #399 on: November 10, 2012, 22:09:38 pm »

Quote from: 020400e on November 10, 2012, 21:25:12 pm
Μια γενική απορία για τη C++... Οι κλάσεις πρέπει να γράφονται πριν την main ή μετά ή δεν έχει σημασία?

Πρέπει να είναι αναγαστικήα πριν από την main, εφόσον θέλεις να τις χρησιμοποιήσεις στην main...
Logged

varvoutis
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 746


http://www.nietzsche-quotes.com/


View Profile
Re: Απορίες στη C++
« Reply #400 on: December 20, 2012, 03:41:37 am »

class oil_source:public source{
   float fuel,c,spower,power;
   char id[30];
   int state;
   
public:
   
   int get_state(){return state;}
   void set_state(int k){state=k;}
   float get_power();
   float get_spower(){return spower;}
   char *get_source_id(){return id;}
   char *get_class_id(){return cid;}
   float return_power(){return power;}
   void create_units(int n);
   
   oil_source();
   oil_source(char *p);
}oil("oil");
.
.
.
oil_source::oil_source(char *p):source(p){}

Το παραπάνω είναι κομμάτι κώδικα από την λύση της εργασίας G του 2010-2011.

Μπορεί κάποιος να μου εξηγήσει τι κάνουν τα boldαρισμένα;

Ευχαριστώ.
Logged

Τι θα γίνει Μπόκολη;
Endeavour X
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 3346



View Profile
Re: Απορίες στη C++
« Reply #401 on: December 20, 2012, 03:48:18 am »

Αν θυμαμαι καλα αυτο ηταν στην ανεξαρτησια λογισμικου.
Το πρωτο που εχεις bold ειναι σα να φτιαχνεις ενα αντικειμενο oil source μεσα στη main.
Ετσι επιτυγχανεται η ανεξαρτησια λογισμικου δηλαδη, η main σου ειναι ανεξαρτητη απο δηλωσεις αντικειμενων.
Logged
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: Απορίες στη C++
« Reply #402 on: December 20, 2012, 22:07:34 pm »

Quote from: varvoutis on December 20, 2012, 03:41:37 am
oil("oil");
Ορίζει ένα αντικείμενο τύπου oil_source εκτός της main(), με σκοπό να πετύχει την ανεξαρτησία του λογισμικού.

Quote from: varvoutis on December 20, 2012, 03:41:37 am
oil_source::oil_source(char *p):source(p){}
Πρόκειται για τον constructor (κενό, χωρίς καθόλου κώδικα) της κλάσης oil_source, που είναι παραγόμενη της source (και εξού το ":source(p)" πριν τον κώδικα).
Logged

Pages: 1 ... 25 26 [27] Go Up Print
Jump to:  

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