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
Last revisionBoth sides next revision
cpp:acccess_modifiers [2020/04/08 10:48] – [Προσδιοριστές Πρόσβασης] gthanoscpp:acccess_modifiers [2021/05/18 07:37] gthanos
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.txt · Last modified: 2021/05/18 06:37 (external edit)