{Public:Virtual void get (){Cout }};Int main (){A * pa = new ();Pa-> get ();B * pb = (B *) pa;Pb-> get ();Delete pa, pb;Pa = new B ();Pa-> get ();Pb = (B *) pa;Pb-> get ();Return 0;}
Ou
. In fact, the second method is more reasonable, indicating that the variable A itself is modified, so the value of A is immutable.When the type is pointer, the circle is star *, and const is added to both sides of the left and right, which has different meanings.1) const int * pA = A; (you can write it as int const * pA = A; note that it is bounded by an asterisk)2) int * const
] * [0 SV 0][0 0 1]
The Su and SV values are the zooming rate in the X and Y axes respectively. If the value is greater than 1, The zooming rate increases. If the value is greater than 0, the zooming rate decreases when the value is smaller than 1, and if the value is less than 0, the zooming Rate.
Does the matrix look dizzy? In fact, the above formula is expanded by matrix multiplication:
{X = u * su
{Y = V * SV
That's simple. Pai_^
With the above three preparations, you can start to write code
1. Assume that there are two linear tables listed in ascending order of element values, all of which are stored as single-chain tables. Compile an algorithm to merge the two single-chain tables into a single-chain table in descending order of element values, and use the nodes of the original two single-chain tables to store the merged single-chain table.
Analysis: The difference between adding a node to the head of the linked list and adding a node to the end of the linked list
List Union (l
(7) pointer operation
In the previous articles, we have seen the usage scenarios of pointer operations and used multiple pointer operations for verification. Here we will particularly summarize the essential meaning of pointer operations.
In C language, if p, Pa, and Pb are all pointer types, such operations are called pointer operations:
, Premise: the PA and Pb types are the same.
Its essence is 1 .
node's DP value to take maximum. When the DP value is calculated along the path, the PA->SON,SON->PA boundary value dis is modified to now, and then the child node of son does not need to pa->son the farthest distance of this path .... Estimated to see this everyone is messy, look at the code bar ..... ..... ....... ........./************************************
1. The use of inheritance: Write a class, this class and the previous written class, just add some members or changes to the original member's behavior, you can inherit the original class, the grammar does not expand to say, through the code to write a few sentences summary.#include using namespacestd;classA { Public: Virtual voidFvoid) {cout "A ' f (void)!"Endl;} Virtual voidVF () {cout "A ' VF () running!"Endl;}};classD | PublicA { Public: voidFint) {cout "B ' f (int)!"Endl;} Virtual voi
Do not tangle character arrays and character pointers
Some Characteristics of character arrays and character pointers in C language are a bit fuzzy. Sometimes I only know why I want to do this, but I forget it after a while, next time, it will take time and effort to find the answer. OK. Let's take a look at it today ~
Here are two basic concepts:
1. Declare a character array
int a[10];Defines an array a with a length of 10. In other words, it defines a set of 10 objects, which are stored in adj
In practice, the intelligent pointer unique_ptr series in c ++ -- uses unique_ptr to avoid multi-layer if nestingToday, I saw this article and thought it was not very nice.
We like process control too much and write too much if else in the program.
Maybe we are very clear about the logic, but it is a disaster for people who read your code.
Many people say that polymorphism is used to avoid excessive if else nesting, but sometimes you may think that writing a new class seems a little tricky, espe
] * [0 Sv 0][0 0 1]
Where the SU,SV is the X-axis direction and the Y-axis of the zoom rate, greater than 1 o'clock magnification, greater than 0 is less than 1 o'clock reduced, less than 0 when reversed.
The matrix is not looking faint. In fact, the above-matrix multiplication is:
{x = u * Su
{y = v * Sv
It's so simple. ^_^
With the preparation of the three above, you can begin to write code implementations. The idea is simple: first use a double loop to traverse each point coordinate of the ta
.
# Include
# Include
Void my_array_func (char ca []); void my_pointer_func (char * pa); char ga [] = "abcdefghijklmn"; int main () {printf ("ga = % # x \ n", ga); printf ("addr of global array ga = % # x \ n", ga ); // printf (" ( ga) =%# x \ n", ( ga); // (leftmost) it must be printf ("ga c = % c \ n", ga); printf ("ga s = % s \ n", ga ); printf ("addr (ga [0]) (ga [0]) =%# x \ n", (ga [0]); printf ("addr (ga [1]) (ga [1]) = % #
function that overrides the Class A F () function and is overwritten by its subclasses. However, in b* pb= (b*) PA, the statement means converting PA to type B and creating a new pointer pb to copy the PA to PB. But here's one thing to note is that the PA pointer is always unchanged, so PB also points to the F () func
1, in the form of a string, the compiler will automatically add to the end, think, why? The presence of a C language method, such as strlen (s), computes the length of a string, where the s pointer is. Strlen to calculate the length of a string, you must know where the end is, so use the-s to indicate the end. Only the character array has the concept of a/s, and the array of other types (int) does not have this concept. This method is not strlen because of other types of arrays or pointers.So th
this formula?It is known that the three vertices of the triangulated ABC are in the homogeneous coordinates of the clipping space, and the weight Alpha Beta Gamma is set to the PA PB pc, so that the clipping space of each fragment can be aligned in the following coordinates:X=pa*ax+pb*bx+pc*cxY=pa*ay+pb*by+pc*cyZ=pa*a
C pointer (7) pointer operation,
(7) pointer operation
In the previous articles, we have seen the usage scenarios of pointer operations and used multiple pointer operations for verification. Here we will particularly summarize the essential meaning of pointer operations.
In C language, if p, pa, and pb are all pointer types, such operations are called pointer operations:
Its essence is 1 .. 2. The number of logical storage units instead of the number
I have learned the memory management unit MMU of S3C2440 over the past few days. I mainly refer to the full manual for Embedded Linux application development. There are two blogs on the Internet, which are also very detailed. However, they are not well understood in the MMU address translation process. Here, I will explain the content in the embedded Linux application development full manual according to my understanding, and add some notes to the image. In case of any errors, please do not give
descriptor.Note that typedef not only creates an alias for the type, but also creates an original type. When writing char * a, B;, the type of A is char *, and B is Char, rather than the expected char *. Because "*" is a type modifier here, it is independent of the declared or defined identifier, otherwise for char a [4], B ;, is B char [4]? That seriously does not conform to people's habits. The preceding char is called the original type. To make char * The original type, you can: typedef char
Although the C + + programming language is powerful and flexible in application, there are also various errors in the actual programming. Here we will give you a detailed description of the C + + pointer drift solution, I hope this article describes the content can help you solve the problem.
We have recently encountered a strange problem in our work, and we finally determined that the C + + pointer drift caused by multiple inheritance is related to the C + + object model. The signal is as foll
Problem of conversion of confusion point classCode:class a{public : virtual void f () {cout lt; "A" public a{public : virtual void f () {cout lt; "B" int _tmain (int argc, _tchar* argv[]) {* PA =
new A (); Pa->f (); b* PB = (b*) pa; Pb->f (); Delete PA,PB;
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.