c++对象指针

对象指针在使用之前必须先进行初始化。可以让它指向一个已定义的对象,也可以用new运算符动态建立堆对象。

定义对象指针的格式为:

cpp 复制代码
类名 *对象指针 = &对象;
//或者
类名 *对象指针 = new 类名(参数);

用对象指针访问对象数据成员的格式为:

cpp 复制代码
对象指针名->数据成员

用对象指针访问对象成员函数的格式为:

cpp 复制代码
对象指针名->成员函数(实参列表);

例如:对象指针应用

cpp 复制代码
class Square //正方形
{
private:
	double length; //边长
public:
	Square(double len) :length(len)//构造函数
    {}
	void show(); //输出函数
};

void Square::show()
{
    cout << "正方形边长:" << length;
    cout<< ",面积:"<<length * length << endl;
}
int main()
{
    Square s(2.5);
    Square *s1 = &s;
    s1->show();
    Square* s2 = new Square{ 3.5 }; //动态创建
    s2->show();
    delete s2; //释放动态内存

    return 0;
}

程序执行结果如下:

相关推荐
云知谷6 分钟前
【经典书籍】《代码整洁之道》第六章“对象与数据结构”精华讲解
c语言·开发语言·c++·软件工程·团队开发
dragoooon3414 分钟前
[Linux——Lesson23.线程概念与控制:线程基础]
java·开发语言·jvm
xixixi7777725 分钟前
攻击链重构的具体实现思路和分析报告
开发语言·python·安全·工具·攻击链
装不满的克莱因瓶40 分钟前
【项目亮点】基于EasyExcel + 线程池解决POI文件导出时的内存溢出及超时问题
java·jvm·excel·线程池·async·虚拟机·easyexcel
蓝桉~MLGT41 分钟前
Python学习历程——模块
开发语言·python·学习
庙堂龙吟奈我何1 小时前
js中哪些数据在栈上,哪些数据在堆上?
开发语言·javascript·ecmascript
仰泳的熊猫1 小时前
1013 Battle Over Cities
数据结构·c++·算法·pat考试
武子康1 小时前
Java-169 Neo4j CQL 实战速查:字符串/聚合/关系与多跳查询
java·开发语言·数据库·python·sql·nosql·neo4j
一只小灿灿1 小时前
深入解析 Maven 与 Gradle:Java 项目构建工具的安装、使用
java·开发语言·maven
树在风中摇曳1 小时前
C语言 | 文件操作详解与实战示例
c语言·开发语言