对象指针输出时分秒

简介: 对象指针输出时分秒

1.对象指针的分类

一. 指向对象的指针

二. 指向对象成员的指针

对于对象成员我们可以划分为如下分类:

1.对象数据成员

2.对象成员函数


2.对象指针的应用与要求

例题:用对象指针的方法输出时.分.秒。

#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并初始化
  Time *pt;
  pt = &t1;
  cout << pt->hour <<":"<< pt->minute <<":"<< pt->sec << endl;
/*===================================================*/
  int *p1;//定义指针变量p1
  p1 = &t1.hour;//使p1指向t1.hour
  cout << *p1 << endl;
/*====================================================*/
  t1.get_time();//调用对象t1的公用成员函数get_time
  Time *p2;
  p2 = &t1;
  p2->get_time();//调用p2所指对象t1的get_time函数
/*====================================================*/
  void (Time::*p3)();
  p3 = &Time::get_time;
  (t1.*p3)();//调用对象t1中p3所指的成员函数(即t1.get_time())
/*====================================================*/
  return 0;
}
  • 指向对象的指针
Time *pt;//对象指针
Time t1;
pt=&t1;
cout<<pt->hour<<":"<<pt->minute<<":"<<pt->sec<<endl;
  • 对象数据成员的指针
Time t1(10,13,56);
int *p1=&t1.hour;
cout<<*p1<<endl;
  • 对象成员函数
Time *p2;
   p2 = &t1;
   p2->get_time();//调用p2所指对象t1的get_time函数
  • 公用成员函数
void (Time::*p3)();
   p3 = &Time::get_time;
   (t1.*p3)();//调用对象t1中p3所指的成员函数(即t1.get_time())


目录
相关文章
|
1天前
|
存储 编译器 C语言
C++入门2——类与对象1(类的定义和this指针)
C++入门2——类与对象1(类的定义和this指针)
10 2
|
5月前
|
存储 C++
C++程序中的对象指针
C++程序中的对象指针
39 1
|
2月前
|
编译器 C++
virtual类的使用方法问题之在C++中获取对象的vptr(虚拟表指针)如何解决
virtual类的使用方法问题之在C++中获取对象的vptr(虚拟表指针)如何解决
|
4月前
|
编译器 C++
函数指针和函数对象不是同一类型怎么替换
函数指针和函数对象不是同一类型,为何可替换用作同一函数的参数
|
4月前
|
算法 Java 程序员
面向对象编程(OOP)通过对象组合构建软件,C语言虽是过程式语言,但可通过结构体、函数指针模拟OOP特性
【6月更文挑战第15天】面向对象编程(OOP)通过对象组合构建软件,C语言虽是过程式语言,但可通过结构体、函数指针模拟OOP特性。封装可使用结构体封装数据和方法,如模拟矩形对象。继承则通过结构体嵌套实现静态继承。多态可通过函数指针模拟,但C不支持虚函数表,实现复杂。C语言能体现OOP思想,但不如C++、Java等语言原生支持。
55 7
|
4月前
类与对象\this指针
类与对象\this指针
26 0
|
4月前
|
C++
【C++系列】指针对象和对象指针的区别
这段内容介绍了C++中`ListNode`对象和指针的两种使用方式以及它们的区别。首先,`ListNode dummy(0); ListNode* cur = &dummy;创建了一个`ListNode`对象`dummy`在栈上,`cur`是`dummy`的地址。而`ListNode* dummy = new ListNode(0); ListNode* cur = dummy;`则在堆上分配了一个`ListNode`,`dummy`和`cur`都是指向该对象的指针。使用`&dummy`作为虚拟头节点简化链表操作,避免特殊处理。栈分配内存自动管理但生命周期受限,堆分配内存需手动释放且速度较慢。
|
4月前
|
存储 安全 编译器
C++进阶之路:探索访问限定符、封装与this指针的奥秘(类与对象_上篇)
C++进阶之路:探索访问限定符、封装与this指针的奥秘(类与对象_上篇)
36 0
|
5月前
|
存储 编译器 C语言
【C++】类与对象【定义、访问限定符、this指针】
【C++】类与对象【定义、访问限定符、this指针】
22 1
|
5月前
|
存储 编译器 程序员
从C语言到C++④(第二章_类和对象_上篇)->类->封装->this指针(下)
从C语言到C++④(第二章_类和对象_上篇)->类->封装->this指针
22 0