thsi指针的一些用法及作用

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 class person
 4 {
 5 public:
 6    person(int age)
 7    {
 8         // age = age;是错的两个age混了
 9         this->age = age;
10         //this指向被调用成员函数所属对象,
11     //也就是谁调用就指向谁
12         //thsi作用1
13     //用于解决成员名和参数名冲突
14    }
15    int age;
16    person& personadd(person &p)
17    {
18          this->age += p.age;
19          return *this;//返回本体
20    }
21 };
22
23 void test()
24 {
25     person p(22);
26
27     cout << p.age << endl;
28  }
29
30 void test01()
31 {
32     person p1(20);
33     person p2(20);
34     cout << p2.age << endl;
35     //链式编程思想
36     p2.personadd(p1).personadd(p1).personadd(p1);
37     cout << p2.age << endl;
38  }
39 int main()
40 {
41     test01();
42     return 0;
43  } 

原文地址:https://www.cnblogs.com/mch5201314/p/11584689.html

时间: 2024-11-25 22:40:35

thsi指针的一些用法及作用的相关文章

malloc、ralloc、calloc的用法,作用,区别,及实现原理

先来看一下三个函数的声明: void * malloc(usigned size); void * realloc(void *ptr, unsigned newsize); void * calloc(size_t numElements, size_t sizeofElement); 它们都包含在#include <stdlib.h>头文件中,他们的返回值都是请求分配的地址,如果请求失败就返回NULL 解释一下这三个函数的用法.作用.区别. malloc() malloc()在内存的动态存

指针变量前面类型的作用和意义

1 #include <stdio.h> 2 /* 3 程序功能:理解指针变量前面类型的作用和意义. 4 指针变量前面的类型代表:指针变量内存放地址的寻址能力. 5 */ 6 int main(void) 7 { 8 int a = 0X12345678; 9 10 int *p = &a; 11 12 printf("%X\n",*p);//打印结果为:12345678 原因 :p 是 int * 类型.即:p 的寻址能力为int,也就是4个字节,所以*p 打印1

mysql游标的用法及作用

1当前有三张表A.B.C其中A和B是一对多关系,B和C是一对多关系,现在需要将B中A表的主键存到C中:常规思路就是将B中查询出来然后通过一个update语句来更新C表就可以了,但是B表中有2000多条数据,难道要执行2000多次?显然是不现实的:最终找到写一个存储过程然后通过循环来更新C表,然而存储过程中的写法用的就是游标的形式. [简介] 游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制. 游标充当指针的作用. 尽管游标能遍历结果中的所有行,但他一次只指向一行. 游标的作用

指针初始化为NULL的作用

关于空指针NULL.野指针.通用指针,首先说一下什么是指针,只要明白了指针的含义,你就明白null的含义了. 假设 有语句 int a=10;那么编译器就在内存中开辟1个整型单元存放变量a,我们假设这个整型单元在内存中的地址是 0x1000:那么内存0x1000单元中存放了数据10,每次我们访问a的时候,实际上都是访问的0x1000单元中的10.现在定义:int *p:                 p=&a:当编译器遇到语句int *p时,它也会在内存中给指针变量p分配一个内存单元,假设这个

指向函数的指针数组的用法

声明一个指向函数的指针数组,并通过指针调用函数. #include<stdio.h> void f1();//函数f1的声明 void f2();//函数f2的声明 void f3();//函数f3的声明 void main() { void (*f[3])()={f1,f2,f3};//指向函数的指针数组的声明 int flag; printf("请输入一个1,2或者3.输入0退出.\n"); scanf("%d",&flag); while(

Modifier的用法及其作用

今天在查看公司原生框架的时候,发现一个Modifier类的用法,简单看了一下发现这是个工具类,位于java.lang.reflect下. 1.功能 该类是修饰符工具类,用于判断和获取某个类.变量.方法的修饰符. 2.简单使用方法 范例:获取某个类的修饰符 package com.classloader.entity; public class User { private int id; private String username; public int getId() { return i

c++ 指针的简单用法

对于指针,其实只需要明白几点就可以. 1.指针,是一个数值为地址的变量,这里尤其注意,指针变量的值是地址!就是例如40002这种像门牌号的地址值,其实就是内存中的一个编号. 2.&,该符号的意思就是取地址,就是获取地址,得到地址值,其实就是那个编号. 3.*,取地址的内容,你有了一个地址,那该地址里存的什么?这时候需要这个*号来帮你取得. 如: int *p;      //这里声明一个指针变量,目前该指针变量没有任何地址值. int a=1;   //声明并初始化一个整形变量. p=&a

转载--void指针(void *的用法)

转自:jimmy 指针有两个属性:指向变量/对象的地址和长度 但是指针只存储地址,长度则取决于指针的类型 编译器根据指针的类型从指针指向的地址向后寻址 指针类型不同则寻址范围也不同,比如: int*从指定地址向后寻找4字节作为变量的存储单元 double*从指定地址向后寻找8字节作为变量的存储单元 1.void指针是一种特别的指针    void *vp    //说它特别是因为它没有类型    //或者说这个类型不能判断出指向对象的长度 2.任何指针都可以赋值给void指针    type *

字符串指针作为函数用法

#include <stdio.h> int cpystr (char *pss, char *pds){ while((*pds=*pss)!='\0')  /*一是把pss指向的源字符串复制到pds所指向的目标字符串中,                                       二是判断所复制的字符是否为’\0’,若是则表明源字符串结束,不再循环.*/ { pds++; pss++; } return 0;}int main(){ char *pa="nihao