is there any reason UFCS can't be used with 'new'?
Justin Whear via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Nov 10 11:35:05 PST 2014
On Mon, 10 Nov 2014 19:07:38 +0000, Suliman wrote:
> I can't understand how to use UFCS with instance of class:
>
> void main()
> {
>
> string name = "Suliman";
> userName username = new userName(name);
>
> /// How to use UFCS here?
> userName.name.sayHello();
> ///
> }
>
> class userName {
> string name;
>
> this(string name)
> {
> this.name = name;
> }
>
> void sayHello(string name)
> {
> writeln(name);
> }
> }
This has nothing to do with new--you're trying to use a virtual function
scoped
to class userName with a string. Rewrite it to a static module-scoped
function:
class userName {
string name;
this(string name)
{
this.name = name;
}
}
void sayHello(string name)
{
writeln(name);
}
void main()
{
string name = "Suliman";
userName username = new userName(name);
userName.name.sayHello();
}
More information about the Digitalmars-d-learn
mailing list