## 类型
指向对象的指针;
指向对象数据成员指针;
指向对象成员函数指针;
# 指向对象的指针
## 定义方式
类名 \*对象指针名
定义对象指针,不会调用构造函数,因为指针分配的空间是固定的,所以不需要调用构造函数来分配空间
# 指向对象数据成员的指针
## 定义方式
数据类型 \*指针变量
# 指向对象成员函数的指针
## 定义方式
数据类型名(类名::指针变量名)(参数列表)
**使指针变量指向成员函数:**指针变量名=类名::成员函数名
~~~
#include <iostream>
using namespace std;
class Time
{
public:
Time(int,int,int);
int hour;
int minute;
int sec;
void get_time( ); //声明公有成员函数
};
Time∷Time(int h,int m,int s)
{
hour=h;
minute=m;
sec=s;
}
void Time∷get_time( ) //定义公有成员函数
{
cout<<hour<<″:″<<minute<<″:″ <<sec<<endl;
}
int main( )
{
Time t1(10,13,56); //定义Time类对象t1
int *p1=&t1.hour;
//定义指向整型数据的指针变量p1,并使p1指向t1.hour
cout<<*p1<<endl; //输出p1所指的数据成员t1.hour
t1.get_time( ); //调用对象t1的成员函数get_time
Time *p2=&t1;
//定义指向Time类对象的指针变量p2,并使p2指向t1
p2->get_time( ); //调用p2所指向对象(即t1)的get_time函数
void (Time∷*p3)( ); //定义指向Time类公用成员函数的指针变量p3
p3=&Time∷get_time;
//使p3指向Time类公用成员函数get_time
(t1.*p3)( );
//调用对象t1中p3所指的成员函数(即t1.get_time( ))
return 0;
}
~~~
- 介绍
- 编程设计语言
- 第一章 对C++的初步认识
- 1.2 最简单的C++程序
- 1.3 C++对C的补充
- 1.3.1 return
- 1.3.2 输入输出流
- 1.3.3 putchar 和 getchar
- 1.3.4 用const定义常变量
- 1.3.5 函数原型声明
- 1.3.6 内置函数
- 1.3.7 函数重载
- 1.3.8 函数模板
- 1.3.9 有默认值的参数
- 1.3.10 作用域
- 1.3.11 const修饰指针
- 1.3.12 引用
- 1.3.13 生命期
- 1.3.14 变量
- 1.3.15 字符串变量
- 第二章 类与对象
- 2.2 类的声明和对象的定义
- 2.3 类的成员函数
- 第三章 关于类和对象的进一步讨论
- 3.1 构造函数
- 3.1.1 对象的初始化
- 3.1.2 构造函数
- 3.2 析构函数
- 3.3调用析构函数和构造函数的顺序
- 3.4 对象数组
- 3.5 对象指针
- 3.6 共享数据的保护
- 3.7 对象的建立与释放
- 3.8 对象的赋值与复制
- 3.9 静态成员
- 3.10 友元
- 3.11 类模板
- 第四章 运算符重载
- 数据类型转换
- 运算符重载
- 重载流插入运算符和流提取运算符
- 第五章 继承与派生
- 继承与派生
- 第六章 多态性与虚函数
- 多态性
- 虚函数
- 纯虚函数与抽象类