首页 > 其他分享 >78.类如何实现只能静态分配和只能动态分配

78.类如何实现只能静态分配和只能动态分配

时间:2023-07-11 15:24:22浏览次数:40  
标签:只能 对象 动态分配 运算符 静态 new 78

78.类如何实现只能静态分配和只能动态分配

1.前者是把new、delete运算符重载为private属性。后者是把构造、析构函数设为protected属性,再用子类来动态创建

2.建立类的对象有两种方式:

① 静态建立,例如 A a;

静态建立一个类对象,就是由编译器为对象在栈空间中分配内存。使用这种方法,是直接调用类的构造函数。

② 动态建立,例如 A *p = new A();

动态建立一个类对象,就是使用new运算符为对象在堆空间中分配内存。这个过程分为两步,第一步执行operator new()函数,在堆中搜索一块内存并进行分配;第二步调用类构造函数构造对象;

3.只有使用new运算符,对象才会被建立在堆上,因此只要限制new运算符就可以实现类对象只能建立在栈上,可以将new运算符设为私有。****

参考资料来源:

阿秀

标签:只能,对象,动态分配,运算符,静态,new,78
From: https://www.cnblogs.com/codemagiciant/p/17544768.html

相关文章

  • CF878E 题解
    CF878ENumbersontheblackboard题解Links洛谷CodeforcesDescription给出\(n\)个数字,每次询问一个区间\([l,r]\),对这个区间内部的点进行如下操作。每次操作可以合并相邻两个数\(x,y\),用\(x+2y\)替换它们。对于每次询问,输出当最后只剩下一个数字时,这个数字的最大......
  • Camtasia Studio 2023.0.2 Build 45178中文版功能介绍及免费下载安装教程
    TechSmithCamtasia2023Mac版软件由兔八哥爱分享的Macos系统上一款屏幕录制软件中文版,它可以帮助用户录制电脑屏幕、添加音频、视频和图片,进行剪辑和编辑,并输出高质量的视频文件。CamtasiaStudio2023.0.2Build45178软件介绍Camtasia2023是一款简便的屏幕录制程序,该软件帮助......
  • LWC 50:678. Valid Parenthesis String
    LWC50:678.ValidParenthesisString传送门:678.ValidParenthesisStringProblem:Givenastringcontainingonlythreetypesofcharacters:‘(‘,‘)’and‘*’,writeafunctiontocheckwhetherthisstringisvalid.Wedefinethevalidityofastringbythese......
  • 洛谷 P3378 【模板】堆
    siftup模板当然还得有siftdown模板“稍”加调试,就可以得到模板代码#include<bits/stdc++.h>usingnamespacestd;intn,op,sl=0,h[1000010];voidjh(intx,inty)//交换{intz=h[x];h[x]=h[y];h[y]=z;}voidsiftu(inti)//siftup{boolf=true;......
  • P3378 【模板】二叉堆
    [洛谷]P3378【模板】堆方法一手写堆最小堆插入从新增的最后一个结点的父结点开始,用要插入元素向下过滤上层结点(相当于要插入的元素向上渗透)voidsiftdown(inti)//传入一个需要向下调整的结点编号i,这里传入1,即从堆的顶点开始向下调整{intt,flag=0;//flag用来标......
  • 机械转码,本来以为只能去比亚迪,没想到十二月份华为、百度、美团等都给我开了...
    作者:阿秀校招八股文学习网站:https://interviewguide.cn你好,我是阿秀。今天分享一位非科班师弟的两年学习经历,他是在上个月的时候跟我私聊说自己上岸华为了,华为给他开的是15级,然后马上就找比亚迪毁约了。。。迪子VS华子,肯定还是华子更香一些的。。。2022.12.19号的事情了秀......
  • Dynamics CRM字段安全配置文件,实现某个人只能看某条记录的某个字段
    共享安全字段https://blog.csdn.net/bzpfly/article/details/115652147 具体代码写法:https://learn.microsoft.com/zh-cn/power-apps/developer/data-platform/webapi/reference/fieldpermission?view=dataverse-latest  ......
  • [LeetCode] 2178. Maximum Split of Positive Even Integers
    Youaregivenaninteger finalSum.Splititintoasumofa maximum numberof unique positiveevenintegers.Forexample,given finalSum=12,thefollowingsplitsare valid (uniquepositiveevenintegerssummingupto finalSum): (12), (2+10), ......
  • 【并查集】 HDOJ 4786 Fibonacci Tree
    就是求出搞成最小生成树的最少白边和最多白边的数量。。。。#include<iostream>#include<queue>#include<stack>#include<map>#include<set>#include<bitset>#include<cstdio>#include<algorithm>#include<cstring>#include<......
  • 1789. 员工的直属部门
    1789.员工的直属部门SQL架构Table:Employee+---------------+---------+|ColumnName|Type|+---------------+---------+|employee_id|int||department_id|int||primary_flag|varchar|+---------------+---------+这张表的主键为e......