// 6-14通过指针访问类的静态数据成员.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
using namespace std;
class Point {
public:
Point(int x = 0, int y = 0) : x(x), y(y) { count++; }
Point(const Point& p) : x(p.x), y(p.y) {
count++;
}
~Point() { count--; }
int getX() const { return x; }
int getY() const { return y; }
static int count;
private:
int x, y;
};
int Point::count = 0;
int main()
{
int* ptr = &Point::count;
Point a(4, 5);
cout << "Point A:" << a.getX() << ", " << a.getY();
cout << " Object count=" << *ptr << endl;
return 0;
}
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已结题
这个里面复制构造函数有没有调用,复制构造函数什么时候被调用
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除
- 收藏 举报
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
A-Chin 2022-04-13 23:48关注Point b(a);
这样才用到了拷贝构造函数
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报 编辑记录微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2017-08-13 23:15回答 2 已采纳 理论上调用,但是有的编译器会对这个进行优化
- 2019-05-06 11:22回答 1 已采纳 vector实现动态添加的原理是空间二倍增长的,也就是说 当你pushback的时候如果发现当前内存不够用,会重新开辟当前内存*2的一片内存,并把之前元素复制到新内存中 所以你在pushback第
- 2016-04-19 06:49回答 3 已采纳 赋值运算符和复制构造函数都是用已存在的B对象来创建另一个对象A。不同之处在于:赋值运算符处理两个已有对象,即赋值前B应该是存在的;复制构造函数是生成一个全新的对象,即调用复制构造函数之前A不存在。
- 2020-09-02 07:52在C++编程语言中,构造函数是一种特殊的方法,它在创建对象时自动调用,用于初始化类的成员变量。本文将深入探讨C++中构造函数的分类及其调用规则。 首先,我们来看构造函数的分类: 1. **无参数构造函数**:这种...
- 回答 2 已采纳 首先,区别初始化和赋值。初始化指为处于“混沌”状态的变量提供初始值,构造新的对象。变量初始化之前,它占用的内存区域的数据是未知的、无意义的,所以说它处于“混沌”的状态。严格地说,赋值指以参数值更新对象
- 回答 1 已采纳 语法这么规定的,因为构造派生类要调用基类构造函数,当基类默认无参构造函数不存在,或者多个构造函数的情况下,那么调用哪个必须要可以预期,由程序员来控制。 所以必须引入这样的语法。
- 2017-09-02 17:45回答 2 已采纳 this()才必须是构造函数中的第一个可执行语句,用this调用语句并不需要。
- 2020-08-31 10:13在C++编程语言中,定义赋值和复制构造函数是至关重要的,因为它们控制着对象的创建、复制以及赋值过程。本文将详细讨论何时需要自定义这些特殊成员函数。 1. **默认构造函数**: 默认构造函数是在没有参数或者所有...
- 2018-08-18 02:26回答 3 已采纳 直接创建一个这个对象的类的实例 ``` # encoding: utf-8 class A: def foo(self): b = B() b.bar() c
- 2017-08-24 22:52回答 3 已采纳 是的,规范的做法就是要调用,派生类初始化自己的部分,然后基类的构造调用基类构造函数
- 2020-09-17 01:34回答 3 已采纳 类加载会调用类的构造函数吗? 不会,类加载是将class文件加载到JVM中,只有在创建这个类实例的时候才会调用类的构造函数。类加载没有成功,在创建这个类实例的时候就会报找不到这个class的错误。
- 2021-02-13 19:201. **对象作为参数传递**:当一个对象作为函数参数传递时,如果函数接收的是对象的引用或指针,编译器会调用复制构造函数来创建一个临时对象。 2. **对象作为返回值**:函数返回一个对象时,也会涉及复制构造函数,...
- 2017-06-30 23:15回答 3 已采纳 http://www.cnblogs.com/KevinSong/p/3323372.html
- 2021-09-11 08:36MAX在码字的博客 在C++中,拷贝并没有脱离它本来的含义,只是将这个含义进行了“特化”,是指用已经存在的对象创建出一个新的对象。从本质上讲,对象也是一份数据,因为它会占用内存。 严格来说,对象的创建包括两个阶段..
- 2020-07-12 08:32aha余的博客 复制构造函数(Copy constructor)是c++中的一个特殊构造函数,也称拷贝构造函数,它只有一个参数,参数类型为同类对象的引用。 如果没有定义复制构造函数,那么编译器将生成默认的复制构造函数。默认的复制构造函数...
- 没有解决我的问题, 去提问
问题事件
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司