The purpose of constructors is to create an instance of a class with a
defined state.
Constructing an instance that has only part of the members initialized is breaking the above mentioned claim.
Languages like C++ or C# (and others) provide the concept of overloading of function names, which means that the same function name can denote different function implementations. The only way to distinguish the function (with the same name!) is with differeing number of parameters and/or differing parameter types on at least one parameter position. This list of parameter types is called the signature of a function. If the signature of two functions is different, overloading may be possible, otherwise, overloading is ambiguous.
Constructors are special functions (they have no return type and their name is the same as the name of the class they belong to, plus they have special means to initialize members (in C++) and select the needed base class constructors (if the class derives from a base class).
As pointed out in the other solutions, you violate the overloading concept (two functions (constructors in this case) have the same signature.
You class should also have a better name and your code is carelessly posted - this won't compile at all since capitalization is broken and since you did not post the whole class code.
Please make it easy to us to post an answer by post in the first place compilable code. The prize of your careless post is that it is severly voted down - the risk now is high that the whole question and associated discussions get completely deleted soon.
Please update your question by using the [Improve Question] link and place the fixed C# code into
<pre lang="cs">...</pre>
block (as was already done for you by some nice soul).
Your class should look something like:
class Car
{
private string _brand;
private string _model;
public Car(string brand, string model) { _brand = brand; _model = model; }
...
}
Cheers
Andi