User Tools

Site Tools


cpp:acccess_modifiers

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cpp:acccess_modifiers [2020/04/08 10:48] – [Προσδιοριστές Πρόσβασης] gthanoscpp:acccess_modifiers [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 15: Line 15:
 Δείτε το παρακάτω παράδειγμα χρήσης των προσδιοριστών πρόσβασης μέσω των κλάσεων //Cuboid// (κυβοειδές) και //Cube// (κύβος) που κληρονομεί την κλάση //Cuboid//. Δείτε το παρακάτω παράδειγμα χρήσης των προσδιοριστών πρόσβασης μέσω των κλάσεων //Cuboid// (κυβοειδές) και //Cube// (κύβος) που κληρονομεί την κλάση //Cuboid//.
  
-<code cpp Cuboid.cpp>+<code cpp Cuboid.hpp>
 #include <iostream> #include <iostream>
 using namespace std; using namespace std;
Line 24: Line 24:
   protected:   protected:
     int color;     int color;
 +  public:
 +    int borderWidth;
   public:   public:
     Cuboid(int w, int h, int l);     Cuboid(int w, int h, int l);
Line 47: Line 49:
 </code> </code>
  
-<code cpp Cube.cpp>+<code cpp Cube.hpp>
 #include <iostream> #include <iostream>
 using namespace std; using namespace std;
-#include "Cuboid.cpp"+#include "Cuboid.hpp"
  
 class Cube:Cuboid {  // Cube extends Cuboid   class Cube:Cuboid {  // Cube extends Cuboid  
Line 69: Line 71:
 } }
 </code> </code>
 +
 +Η δήλωση <code>class Cube:Cuboid {</code> δηλώνει ότι τη σχέση κληρονομικότητας μεταξύ των κλάσεων Cube και Cuboid (η κλάση Cube είναι απόγονος της κλάσης Cuboid).
  
 <code cpp CubeUsage.cpp> <code cpp CubeUsage.cpp>
-#include "Cube.cpp"+#include "Cube.hpp"
  
 int main() { int main() {
   Cuboid cuboid(1,2,3);   Cuboid cuboid(1,2,3);
   //cuboid.color = 0xFF0000 // this does not compile   //cuboid.color = 0xFF0000 // this does not compile
 +  cuboid.borderWidth = 5;
 +  
   Cube cube(1, 0xcccccc);   Cube cube(1, 0xcccccc);
   cuboid.setWidth(5);   cuboid.setWidth(5);
Line 86: Line 92:
   - Τα πεδία //width//, //height// και //length// της κλάσης //Cuboid// είναι ορισμένα ως //private// και δεν είναι ορατά από τη συνάρτηση //main// ή την κλάση //Cube//   - Τα πεδία //width//, //height// και //length// της κλάσης //Cuboid// είναι ορισμένα ως //private// και δεν είναι ορατά από τη συνάρτηση //main// ή την κλάση //Cube//
   - Το πεδίο //color// είναι ορισμένο ως //protected// και είναι ορατό από την υποκλάση //Cube//, όχι όμως και από τη //main//.   - Το πεδίο //color// είναι ορισμένο ως //protected// και είναι ορατό από την υποκλάση //Cube//, όχι όμως και από τη //main//.
-  - Η μέθοδος //setWidth// είναι ορισμένη ως //public// και είναι ορατή από τη μέθοδο //main// και από την υποκλάση //Cube//.+  - Η μέθοδος //setWidth// είναι ορισμένη ως //public// και είναι ορατή από τη μέθοδο //main// και από την υποκλάση //Cube//. Το ίδιο ισχύει και για το //public// πεδίο //borderWidth//.
 </WRAP> </WRAP>
  
cpp/acccess_modifiers.1586342907.txt.gz · Last modified: 2020/04/08 09:48 (external edit)