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

Reply via email to