I recently started learning C#, but I have some background in C++. I was wondering how I would do something like
class employee
{
public:
....
... methods ...
....
private:
....
... private member variables ....
....
}
I tried doing this in C#, but it doesn't like the "public: ..." and "private: ..." to make everything after it either public or private.
Also, I've seen that theres this get and set thing in C#, so you don't need to do things in the way of making a private member variable, then making a function to return that variable?
While i'm at it, how does one make subclasses in C#? In C# new classes get opened in different tabs, so I'm confused as to how I would do it.
You can't make "blocks" public or private in C# as you would in C++, you'll have to add the visibility (and implementation) to each member. In C++, you'd normally do;
...and implement your members elsewhere, while in C#, you'd need to do;
As for properties, see them as auto implemented
set
andget
methods which you can choose to implement yourself or have the compiler implement them. If you want to implement them yourself, you'll still need the field to store your data in, if you leave it up to the compiler, it will also generate the field.Inheritance works exactly the same as it would if you put things in the same file (which is probably not even a good idea for bigger C++ projects). Just inherit as usual, as long as you're in the same namespace or have the namespace of the base class imported, you can just inherit seamlessly;
No, you can't. In C# you must specify accessor for each member.
No you don't, it's called
Property
Write it other class
class SomeClass {
} class SubClass:SomeClass {}
1) Access modifiers in C# are different from C++ in that you need to explicitly specify one per class member.
http://msdn.microsoft.com/en-us/library/wxh6fsc7(v=vs.71).aspx
2) The get, set you are mentioning refer to C# Properties:
Pls note that you can also use auto-implemented properties http://msdn.microsoft.com/en-us/library/bb384054.aspx
3) Subclassing in C# is done like so
in C# you'll have to specify the access specifier for each method or property. If you don't specify it takes the default access specifier.
Default access specifier for class members are private and default for things outside a class is internal