The console program does not automatically exit the method:
- System ("pause");
- GetChar ()
- Use execution Ctrl+f5 to start debugging F5 will appear flash back
Dynamic memory allocation
1 //construct C String2 //class Stringbad::stringbad (char *)3Stringbad::stringbad (Char*Pchar)4 {5str =New Char[Std::strlen (Pchar) +1];6 std:strcpy (str, p);7num_string++;8 }9 //Static class Numer should defined out of the class define fileTen //static int num_string; One intStringbad::num_string =0
// destructor stringbad::~Stringbad () { num_string--; Delete [] str;
Copy constructor
- If a class is useful for a pointer member that is initialized by new, you should write a display copy constructor to implement a deep copy to prevent memory leaks.
- The default constructor for a class implements a shallow copy, so you should also write a copy constructor when you have a static member, and the constructor handles static members.
- A copy constructor, which is typically a constant reference to a class, to save memory and time
The C + + compiler provides a class for:
- Default constructor, if no constructor is displayed
- Default destructor
- Default copy function
- Default Assignment function
- Default address operator
"8-17" C + + Learning Note 01