Wie in Klasse private-Bereich unter public-Bereich setzen?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wie in Klasse private-Bereich unter public-Bereich setzen?

    Hallo,

    ich habe habe hier eine Klasse welche soweit funktioniert.. jedoch hat sie einen Makel, die private-Sektion befindet sich über der public-Sektion.. soviel ich weiß entspricht dass nicht der C++-Konvention, oder? Daher meine Frage, wie funktioniert meine Klasse auch, wenn ich die beiden Sektionenen vertausche.. ich denke mal, es liegt daran dass etwas nicht deklariert wurde.. der Compiler gibt mir unglaublich viel Fehlermeldungen aus...

    Hier meine Klasse:

    Quellcode

    1. //Includeguard ASCIIPICTURE//
    2. #if !defined(ASCIIPICTURE_H)
    3. #define ASCIIPICTURE_H
    4. #include <vector>
    5. #include <string>
    6. #include <istream>
    7. #include <ostream>
    8. ///////////////////////////
    9. class AsciiPicture
    10. {
    11. private:
    12. typedef std::vector<std::string> linesvector;
    13. linesvector lines;
    14. public:
    15. AsciiPicture(); //DefaultKonstruktor
    16. //Typedefs für Linesvector///////////////////////////////////
    17. typedef linesvector::size_type size_type; //wie unsigned int
    18. typedef linesvector::iterator iter;
    19. typedef linesvector::const_iterator const_iter;
    20. ////////////////////////////////////////////////////////////
    21. //Inlinefunktionen//////////////////////////////////////////
    22. //Zeile hinzufügen
    23. void add_line(const std::string& text);
    24. //Zeile an bestimmter Postion hinzufügen
    25. void add_line(const std::string& text, size_type pos);
    26. //Zeile an bestimmter Position löschen
    27. void delete_line (size_type pos);
    28. //Bestimmte Zeile zurückgeben
    29. std::string& get_line(size_type pos){
    30. return lines.at(pos);
    31. }
    32. //Bestimmen der maximalen Spaltenbreite
    33. size_type get_column ()const{
    34. std::string::size_type max=0;
    35. linesvector::const_iterator beginline=lines.begin();
    36. linesvector::const_iterator endline=lines.end();
    37. while(beginline!=endline) {
    38. if (max < (*beginline).size()){
    39. max=(*beginline).size();
    40. }
    41. ++beginline;
    42. }
    43. return max;
    44. }
    45. //Ermitteln der Anzahl der Zeilen
    46. size_type get_row()const{return lines.size();}
    47. ////////////////////////////////////////////////////////////////////
    48. //Iteratoren und Const-Iteratoren für Anfang und Ende im LinesVector lines//
    49. iter begin(){return lines.begin();}
    50. iter end(){return lines.end();}
    51. const_iter begin() const{return lines.begin();}
    52. const_iter end() const{return lines.end();}
    53. ///////////////////////////////////////////////////////////////////////////
    54. };
    55. #endif
    Alles anzeigen
    Forza Italia!!!!!!
  • "phax" schrieb:

    "darthdespotism" schrieb:

    Alles was am Anfang vor einem Schlüssselwort wie Public: etc steht ist per default private.


    Das gilt für alle Klassen. Bei structs sind alle Member standardmäßig public. Das ist der einzige Unterschied zwischen class und struct in C++.


    Swo weit ich weis gibts in structs nur public, was anderes existiert gar nicht?