Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #67914

Re: About getters/setters

Newsgroups comp.lang.c++
From Melzzzzz <Melzzzzz@zzzzz.com>
Subject Re: About getters/setters
References <kSg7F.32840$Xs5.970@fx06.am4> <86y2zk26ps.fsf@mailhub.linuxsc.com> <gs97lsF3s0U2@mid.individual.net>
Message-ID <LXV7F.35440$hJ3.16176@fx07.am4> (permalink)
Organization usenet-news.net
Date 2019-08-23 18:07 +0000

Show all headers | View raw


On 2019-08-23, Ian Collins <ian-news@hotmail.com> wrote:
> On 23/08/2019 10:09, Tim Rentsch wrote:
>> JiiPee <no@notvalid.com> writes:
>> 
>> [some white space reformatting done]
>> 
>>> Which one is better:  1)
>>>
>>>      class Person {
>>>        public:
>>>          int getAge() { return age;}
>>>          void setAge(int a) { age = a;}
>>>        private:
>>>          int age;
>>>      };
>>>
>>> or  2)
>>>
>>>      struct Person {
>>>          int age;
>>>      };
>>>
>>> ####
>>>
>>> I know Herb Sutter recommended 1) but for example isocpp
>>>
>>> https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rh-get
>>>
>>> seems to recommend 2). [...]
>>>
>>> I do currently 1) but wondering which way to go.
>>>
>>> Like now I have a "Settings" class.  Simple data members.  I started
>>> adding getters and setters....
>> 
>> I agree with Herb Sutter's recommendation that (assuming the
>> class or struct has some member functions) data members should
>> never be public.  There are cases where for data members might
>> plausibly be made protected rather than private, but never
>> public.
>
> There is a case where a data member is safe to be public:  a const data 
> member.  Access to such a member cannot change a class's invariants.
>
Also there is case when member is class with own interface.


-- 
press any key to continue or any other to quit...
U ničemu ja ne uživam kao u svom statusu INVALIDA -- Zli Zec
Na divljem zapadu i nije bilo tako puno nasilja, upravo zato jer su svi 
bili naoruzani. -- Mladen Gogala

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

About getters/setters JiiPee <no@notvalid.com> - 2019-08-21 20:22 +0100
  Re: About getters/setters Jorgen Grahn <grahn+nntp@snipabacken.se> - 2019-08-21 19:34 +0000
  Re: About getters/setters Bo Persson <bo@bo-persson.se> - 2019-08-21 21:40 +0200
  Re: About getters/setters Öö Tiib <ootiib@hot.ee> - 2019-08-21 12:52 -0700
    Re: About getters/setters JiiPee <no@notvalid.com> - 2019-08-22 15:25 +0100
      Re: About getters/setters Öö Tiib <ootiib@hot.ee> - 2019-08-22 09:06 -0700
        Re: About getters/setters Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-08-24 04:32 -0700
  Re: About getters/setters Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-08-22 15:09 -0700
    Re: About getters/setters Ian Collins <ian-news@hotmail.com> - 2019-08-23 16:17 +1200
      Re: About getters/setters Tim Rentsch <tr.17687@z991.linuxsc.com> - 2019-08-23 05:26 -0700
      Re: About getters/setters Melzzzzz <Melzzzzz@zzzzz.com> - 2019-08-23 18:07 +0000
    Re: About getters/setters JiiPee <no@notvalid.com> - 2019-08-23 07:09 +0100
  Re: About getters/setters JiiPee <no@notvalid.com> - 2019-08-23 07:13 +0100
    Re: About getters/setters David Brown <david.brown@hesbynett.no> - 2019-08-23 09:30 +0200
      Re: About getters/setters Jorgen Grahn <grahn+nntp@snipabacken.se> - 2019-08-25 06:16 +0000
        Re: About getters/setters David Brown <david.brown@hesbynett.no> - 2019-08-25 12:12 +0200
  Re: About getters/setters Jorgen Grahn <grahn+nntp@snipabacken.se> - 2019-08-23 11:24 +0000
    Re: About getters/setters James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-08-23 08:34 -0400
      Re: About getters/setters Jorgen Grahn <grahn+nntp@snipabacken.se> - 2019-08-23 14:48 +0000
      Re: About getters/setters Jorgen Grahn <grahn+nntp@snipabacken.se> - 2019-08-23 15:49 +0000

csiph-web