关于对象指针的问题,通过对象指针访问对象和对象成员

问题描述

关于对象指针的问题,通过对象指针访问对象和对象成员

下面的代码在第24行的时候我注释的地方,运行为什么不对?
-> 运算:对象指针名->成员
不是等价于
(*对象指针名).成员
吗?

#include
using namespace std;
class point
{
public:
point(int x=0,int y=0):x(x),y(y){}
int getx() const
{
return x;
}
int gety() const
{
return y;
}
private:
int x,y;
};
int main()
{
point p1(4,5);
point *p=&p1;
cout<getx()<<endl;
cout<<p1.getx()<<endl;
// cout<<(*p1).getx<<endl; //为什么这样子不可以!!!
return 0;
}

解决方案

指针使用->而不是.,而且函数调用你也少了括号一对。

解决方案二:

C++ 对象成员指针
对象成员的指针
用指针访问对象

解决方案三:

你的注释部分是不是少了括号

时间: 2024-09-28 08:58:43

关于对象指针的问题,通过对象指针访问对象和对象成员的相关文章

C++指针怎么用?C++指针用法汇总

  C++的指针怎么用?在C++中,指针用得比较多,对于里面众多的指针用法,不免弄得有些糊涂.今天,绿茶小编对C++中指针的用法进行了整理汇总,展现给大家,希望对大家有所帮助. C++程序设计重要基础就是类和对象,对象指针是很重要的一部分,包括指向对象的指针.指向对象成员的指针.this指针.指向对象的常指针.指向常对象的指针等. 用法1.指向对象的指针 定义:对象空间的起始地址就是对象的指针. 说明:在建立对象时,编译系统就为每个对象分配一定的存储空间以存放其成员,不过注意,在一般情况下不同对

Java对象创建、分配、布局、访问小析(HotSpot虚拟机)(二)

本文内容总结自周志明先生所编著的<深入理解Java虚拟机-JVM高级特性与最佳实践>此书的经典不必多说.本节内容是对象的内存布局. 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头.实例数据.对齐填充(Padding).在32位虚拟机中对象头的大小是8个字节,在64位虚拟机中对象头的大小是16个字节, 如果开启压缩的话,对象头的大小是12个字节.对象头包含两部分的信息,一部分是对象自身的运行时数据,包含哈希码.GC分代年龄.锁状态信息.线程持有的锁.偏向线程ID.偏向时

C语言const指针和指向const的指针的理解

1.const 的理解     const 是C语言(C++)的一个关键字,需要注意的是,const 关键字是把变量变为一个只读的变量,绝对不是将这个变量变为常量.也就是说经过const 修饰的变量成为只读的变量之后,那么这个变量就只能作为右值(只能赋值给别人),绝对不能成为左值(不能接收别人的赋值).       经过const 修饰的变量,在定义的时候,就要进行初始化. const int a = 10;  // 正确 const int a;  // 错误       const 关键字最

Java对象创建、分配、布局、访问小析(HotSpot虚拟机)(一)

本文内容总结自周志明先生所编著的<深入理解Java虚拟机-JVM高级特性与最佳实践>此书的经典不必多说.本节内容是对象的创建..分配的内容. 对象的创建 java对象的创建有几种方式呢(这里所说的java对象仅限于普通java对象不包含数据和Class对象)?大致有以下四种方式: new关键字.这应该是我们最常见和最常用最简单的创建对象的方式. 使用newInstance方法.这里包括Class的newInstance方法和Constructor的newInstance方法(Class的new

深入解析函数指针与返回函数的指针

以下是对函数指针与返回函数的指针进行了详细的分析介绍,需要的朋友可以过来参考下   先看看以下两个代码:1:出自STL-SGI源码<stl_alloc.h> 复制代码 代码如下: static void (*__set_malloc_handler(void (*__f)()))() {  void (*__old)()=__malloc_alloc_oom_handler;  __malloc_alloc_oom_handler=__f;  return (__old); } 2:Linux

关于link环境下对象的选择是怎么实现的?如何实现对象的选择?

问题描述 关于link环境下对象的选择是怎么实现的?如何实现对象的选择? 关于link环境下对象的选择是怎么实现的?如何实现对象的选择? 解决方案 对象选择?你说的是控件选择么? control.Active()

DOM对象本身也是一个js对象,所以严格来说,并不是操作这个对象慢,而是说操作了这个对象后,会触发一些浏览器行为(转)

一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大家都会这样说,在网上学习了一些资料,这边整理出来. 首先,DOM对象本身也是一个js对象,所以严格来说,并不是操作这个对象慢,而是说操作了这个对象后,会触发一些浏览器行为,比如布局(layout)和绘制(paint).下面主要先介绍下这些浏览器行为,阐述一个页面是怎么最终被呈现出来的,另外还会从代码的角度,来说明一些不好的实践以及一些优化方案. 浏览器是如何呈现一张页面的 一个浏览器有许多模块,其中负责呈现页面的是渲染引

delphi 函数指针 参数-delphi使用函数指针调用函数第一个参数不能获取。

问题描述 delphi使用函数指针调用函数第一个参数不能获取. 完整代码如下所示,定义了一个函数指针类型TFunctiontest = function (const a:integer; const b:integer; const c:integer): integer; 然后定义了一个指针变量.再定义了一个函数function functiona(const a :integer; const b:integer;const c:integer):integer;并将该函数的地址赋值给函数

activity-如何在java类中访问自定义的对象?

问题描述 如何在java类中访问自定义的对象? 我想在java类中访问自定义的对象,这个java类中包括ApplicationContext 对象. 我创建了一个自定义的应用程序类: class A extends android.app.Application{ public String abc = "xyz"; } 一个简单的java类: class B { private appContext; // This constructor is called from activi

实现整个网站系统只有一个connection对象,可是对象只能使用一次,再次调用时提示:connection对象的connectionstring属性未初始化?内含代码

问题描述 实现整个网站系统只有一个connection对象,可是对象只能使用一次,再次调用时提示:connection对象的connectionstring属性未初始化???????..................为什么????????创建connection对象publicclassPubConn{privatePubConn(){}privatestaticOracleConnectionDALPubConnection;publicstaticOracleConnectionPubCo