我知道=操作员不能超载,但必须有办法在我这里做我想要的:
我只是创建代表定量单位的类,因为我正在做一些物理学.显然我不能只从一个原语继承,但我希望我的类的行为与原语完全一样 - 我只是希望它们的输入方式不同.
所以我可以去,
Velocity ms = 0;
ms = 17.4;
ms += 9.8;
Run Code Online (Sandbox Code Playgroud)
等等
我不知道该怎么做.我想我会写一些像这样的类:
class Power
{
private Double Value { get; set; }
//operator overloads for +, -, /, *, =, etc
}
Run Code Online (Sandbox Code Playgroud)
但显然我不能重载赋值运算符.我有什么方法可以得到这种行为吗?
我知道字符串就像一个类,当创建一个新字符串时,字符串本身并不欠值,而只是值的指针.但是在创建字符串时,不需要使用new;
string a = "hello";
Run Code Online (Sandbox Code Playgroud)
并不是
string a = new string("hello");
Run Code Online (Sandbox Code Playgroud)
我知道第二个选项也是可能的,但我想了解的是为什么第一个?
假设我有一个类名学生,他的构造函数得到了string.要创建一个新类,我必须使用保存的单词new.
student example = new student("Sabrina");
Run Code Online (Sandbox Code Playgroud)
我尝试过载,oparator =但这是不可能的.
如何创建一个像string(不使用单词new)的新类?
student example = "Sabrina";
Run Code Online (Sandbox Code Playgroud)