c2 classes
Ali
fakeemail at example.com
Fri Apr 6 14:39:42 UTC 2018
On Friday, 6 April 2018 at 13:41:50 UTC, aerto wrote:
> its possible to make this work ??
>
> import std.stdio;
>
>
> class UUsers
> {
> public:
> int age;
> }
>
>
> class users
> {
> public:
> int[int] uid;
>
> }
>
>
> void main() {
>
> users newuser = new users();
> newuser.uid[0].age = 23;
> writeln(newuser.uid[0].age);
>
> }
This will work
import std.stdio;
class UUsers
{
public:
int age;
}
class users
{
public:
UUsers[] uid;
}
void main() {
users userList = new users();
userList.uid ~= new UUsers();
userList.uid[0].age = 24 ;
writeln(userList.uid[0].age);
}
Let me try to explain why
Basically, what you wanted to do is have two classes
one will hold user's information, and another holding a user list
For the second class to hold user list
this line
> int[int] uid;
became this line
> UUsers[] uid;
In you code, there was no relation between the two classes
Then in your main
You instantiate your users list object
> users userList = new users();
Then you instantiate a user object and append it to the list (~=
is the append operator)
> userList.uid ~= new UUsers();
Finally you assign a value to your user object age and print it
> userList.uid[0].age = 24 ;
> writeln(userList.uid[0].age);
More information about the Digitalmars-d-learn
mailing list