#include<iostream> #include "Point.h" using namespace std; int main() { cout<<"Entering main."<<endl; Point A[2]; for(int i=0;i<2;i++) A[0.Move+10,i+20); cout<<"Exiting main."<<endl; return 0; 26
#include<iostream> #include "Point.h" using namespace std; int main() { cout<<"Entering main."<<endl; Point A[2]; for(int i=0;i<2;i++) A[i].Move(i+10,i+20); cout<<"Exiting main."<<endl; return 0; } 26
运行结果: Entering main. Default Constructor called. Default Constructor called. Exiting main. Destructor called. Destructor called. 27
运行结果: Entering main. Default Constructor called. Default Constructor called. Exiting main. Destructor called. Destructor called. 27
C++语言程序设计 清华大学郑莉 关于内存地址 内存空间的访问方式 通过变量名访问 通过地址访问 。地址运算符:& 例: int var; 则&var 黄米 表示变量var在内存中的起始地 28
C++语言程序设计 清华大学 郑莉 28 关于内存地址 ⚫ 内存空间的访问方式 – 通过变量名访问 – 通过地址访问 ⚫ 地址运算符:& 例: int var; 则&var 表示变量var在内存中的起始地址
C++语言程序设计 清华大学郑莉 指针变量的概念 内存用户数据区 概念 指 指针: 内存地址,用于 间接访问内存单元 指针变量: 2000 3 变量i 用于存放地址的变量 2004 6 变量j 针 声明 例:static int i, 变量 3010 2000 i pointer static int *i pointer=&i; 指向整型变量的指针 引用 1 pointer *i pointer 例1: =3, 例2: *i pointer=3; 2000 2000 29
C++语言程序设计 清华大学 郑莉 29 声明 例:static int i; static int *i_pointer=&i; 指向整型变量的指针 指针变量的概念 概念 指针:内存地址,用于 间接访问内存单元 指针变量: 用于存放地址的变量 2000 3 i_pointer *i_pointer i 2000 内存用户数据区 变量 i 变量 j 变量 i_pointer 3 6 2000 2000 2004 3010 引用 例1: i=3; 例2: *i_pointer=3; 指 针
C++语言程序设计 清华大学郑莉 指针变量的初始化 指 ●语法形式 存储类型 数据类型*指针名=初始地址: 例:int*pa=&a, 针 ●注意事项 用变量地址作为初值时,该变量必须在指针初 始化之前已说明过,且变量类型应与指针类型 致。 可以用一个已赋初值的指针去初始化另一个指 针变量 不要用一个内部auto变量去初始化static指针。 30
C++语言程序设计 清华大学 郑莉 30 指针变量的初始化 ⚫语法形式 存储类型 数据类型 *指针名=初始地址; 例: int *pa=&a; ⚫注意事项 – 用变量地址作为初值时,该变量必须在指针初 始化之前已说明过,且变量类型应与指针类型 一致。 – 可以用一个已赋初值的指针去初始化另一 个指 针变量。 – 不要用一个内部 auto 变量去初始化 static 指针。 指 针