Turn from: http://www.kuqin.com/language/20120723/323076.html
In the process of reading "effective C + +" This book, I have countless times to send a sigh, this his mother wrote too good, a sentence on the nail, directly to the point. So I decided to write 5 blogs about the content of this book, and I think it is worth remembering whether you understand these terms or not. The following index corresponds to the chapters in the book.
11: If memory is d
class derived is probably as follows:The memory distribution of objects of class vbase is probably as follows:the memory structure diagram from class derived and class Vbase makes it very easy to see that using bitwise copy semantics does not complete an object that constructs a base class with an object of a derived class as the initial value. Compile the copy constructor of the composition, copy the member variables (mvbase) from the base class sub
In C ++, why cannot a constructor return values? (1) Suppose there is a class C, as defined below: class C {public: C (): x _ (0) {} C (int I): x _ (I) {} private: int x _;}; if the constructo
1. We can provide a default real parameter for the constructor parameters.
Class account {Public:// Default constructorAccount ();// The parameter name in the Declaration is not requiredAccount (const char *, double = 0.0 );Const char * Name () {return _ name ;}//...PRIVATE://...};
The following are two valid account class object definitions, which pass one or two real parameters to the constructor:
constructor "standard", such as CA (int a, int b) {}; CB (int A, int b): CA (a,b) {}; or: CA (int a, int b) {}; CB (int A, int b, int c): CA (a,b) {}; Four, the parent class has more than one parameter constructor, At this point, the subclass implements the constructor of a parent class at least. Five, the
automatically. there might be composed constructors of which the correct implementation is automatically selected by the compiler. when this object is destroyed or deallocated, the Destructor function is automatically executed. for example when the scope of the object has finished or the object was dynamically allocated and now being freed. the Constructors and the Destructors are generally contains initialization and cleanup codes respectively required by an object to operate correctly. becaus
C ++ copy constructor details
Keywords: C ++
Copy constructor is one of the most basic concepts of C ++. Do you think you know about copy constructor? Please answer the following three questions:
1.Which of the following functions
, elapsedTime.TotalMilliseconds, globalStartTime.ToShortTimeString()); } } class TestBus { static void Main() { // The creation of this instance activates the static constructor. Bus bus1 = new Bus(71); // Create a second bus. Bus bus2 = new Bus(72); // Send bus1 on its way. bus1.Drive();
Recently in the study of the "Insight C + + object Model", see the second chapter of the structural function part, deep feelings, so write down, convenient for everyone. Of course, it is also convenient for me, lest I forget.1 class test{2public:3 int A; 4 }; 5 int Main () {6 Test T; 7 std::coutStd::endl; 8 }As a result, we all know that t.a is not initialized, so it is a random value. So here's the problem, with previous knowledge, when t
like synthesized copy constructor, copying non-static members to the left operand in turn.synthesized destructor:the function body of destructor is empty.About when we need to customize the three methods above1, when the need for destructor, the above three methods are needed.2, copy-assignment operator is also required when copy constructor is required, and vice versa.And when we need to delete our dynami
Constructor
In the C ++ class, when the system allocates memory, it only allocates memory to the data.Code, And other characters are not allocated.
Data members in a class are not allowed to be initialized when the class is declared. If all the members in the class are public, you can initialize the data members when defining the object.
C ++ provides const
In the course of reading Objective C ++, I have been sighing for countless times. This is a good fucking write. Therefore, I decided to write the content of this book into five blogs based on my own understanding. I think whether or not you understand these terms is worth writing down. The following indexes correspond to the chapters in the book.11: if the class is dynamically configured with memory, declare a copy
Reference documents:1. Huang Bongyong Handsome2.http://www.cnblogs.com/graphics/archive/2012/10/02/2710340.html3.http://blog.csdn.net/pnhuangyu/article/details/12352073Divided into three parts:First, the basicSecond, when to need the default constructorThird, the default constructor initializes the member to what valueFirst, the basic1. Constructors without parameters are default constructors, with only one default
C + + Primer Plus chapter 12th-Dynamic memory and classes, copy constructors
1 The class declaration does not allocate storage space for the string itself, but instead uses new in the constructor to allocate space for the string. This avoids the predefined length of the string in the class declaration.
2 static members have a feature that no matter how many objects are created, the program is only creating
1, each class must have a constructor, otherwise cannot create object;
2. If Programer does not provide any constructors, C + + provides a default constructor, which is an parameterless constructor that is responsible only for creating objects and not doing any initialization work;
3.
We will introduce in detail the basic application methods of C ++ constructor today. It is hoped that beginners can fully grasp this knowledge through the content introduced in this article, so as to gain help in practical application in the future, and to a certain extent deepen their understanding of this language.
Detailed description of C ++ bit operations
C ++-copy constructor, copy-assignment operator, destructor, assignmentoperator
For a class, copy constructor, copy-assignment operator, move constructor, move-assignment operator, and destructor are collectively referred to as copy control.
Let's talk about copy constructor
Copy constructor is one of the most basic concepts of C ++. Do you think you know about copy constructor? Please answer the following three questions:1. Which of the following functions is a copy constructor? Why?X: X (const X );X: X (X );X: X (X , int a = 1 );X: X (X , int a = 1, B = 2 );2. Can there be more than one
modified. In these cases, you need to define your own copy constructors.
3. Assignment constructor
The default assignment operator is used to handle assignments between similar objects. Do not confuse assignment with initialization. If the statement creates a new object, the initialization is used, and if the statement modifies the value of an existing object, it is assigned.
The default assignment is to assign a value to a member. If the member is a
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.