User imput string int and float[DOUBT]
Jean Cesar via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Feb 15 17:49:18 PST 2017
On Wednesday, 15 February 2017 at 23:40:41 UTC, Ali Çehreli wrote:
> On 02/15/2017 03:20 PM, Jean Cesar wrote:
>> How do I make a class person where I use set and get methods
>> to imput
>> the user type:
>
> I have some information here:
>
> http://ddili.org/ders/d.en/input.html
>
> You should also know how to read strings:
>
> http://ddili.org/ders/d.en/strings.html
>
> And this section about refactoring has the concept of a
> readInt() function template:
>
>
> http://ddili.org/ders/d.en/functions.html#ix_functions.refactor
>
> Combining all three:
>
> import std.stdio;
> import std.traits;
>
> auto read(T)(ref T t, string message)
> if (!isSomeString!T) {
> writef("%s: ", message);
> readf(" %s", &t);
> return t;
> }
>
> auto read(S)(ref S s, string message)
> if (isSomeString!S) {
> import std.string : strip;
> writef("%s: ", message);
> s = readln().strip();
> return s;
> }
>
> class person
> {
> private:
> string name, address;
> int age;
> float height;
>
> public:
> void setNome()
> {
> read(name, "Enter Your Name");
> }
>
> void setIty()
> {
> read(age, "Enter Your Age");
> }
>
> void setHeight()
> {
> read(height, "Enter Your Height");
> }
>
> float getHeight()
> {
> return height;
> }
>
> int getIty()
> {
> return age;
> }
>
> string getNome()
> {
> return name;
> }
>
> }
>
> void main ()
> {
> person p = new person();
>
> p.setNome();
> p.setIty();
> p.setHeight();
>
> writeln(p.getNome());
> writeln(p.getIty());
> writeln(p.getHeight());
> }
>
> Unrelated, a bunch of get/set methods is commonly seen as
> inferior to a design where another piece of code does the
> reading and makes the object after the fact:
>
> person readPerson(File input) {
> // ... parse the input ...
> // Potentially, use the constructor:
> auto p = new person(name, age, /* ... */);
> return p;
> }
>
> One reason is the fact that the person may be seen as
> incomplete and unusable unless all fields are set. Again, it's
> beside the point... :)
>
> Ali
So I'm a beginner in this language and have very little time I
started I'm interested in apprehending concepts of object
orientation polymorphism inheritance, multiple inheritance as in
c ++, but I did not understand how to use constructor in it
Because I simply did.
Class person
{
person(){}
~ Person () {}
}
And error ...
More information about the Digitalmars-d-learn
mailing list