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


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

About getters/setters

Newsgroups comp.lang.c++
From JiiPee <no@notvalid.com>
Subject About getters/setters
Message-ID <kSg7F.32840$Xs5.970@fx06.am4> (permalink)
Organization virginmedia.com
Date 2019-08-21 20:22 +0100

Show all headers | View raw


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). Herb says that for example when debugging 1) is 
good because you can write to file all the accesses of the age, or cout 
all the calls. Also debugger can stop at the function call, but can 
debugger stop at :

person.age = 6;

?

So debugger can put a red dot to setAge and see which object changed it. 
And cout/write on file information.

Argument also, that later on can add other functionality punder setAge 
(like cache logic).

But 2) people argue its so simple and not likely to change, so it breaks 
OO idea.

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....

Back to comp.lang.c++ | Previous | Next — 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