C++ 初阶 | 类和对象易错知识点(下)

article/2025/8/15 20:50:18

目录

0.引言

1.初始化列表

2.static

静态成员变量:

静态成员函数:

3.友元函数

4.内部类

定义:

特点:

应用:

5.优化写法

6.例题   求和1+2+...+n  (不能用for/while/if/else等关键字)

7.总结


0.引言

今天,咱接着上文,继续来唠唠类和对象中的易错知识点😄😄😄

1.初始化列表

🚩形式:类名(类型名 参数):成员变量名(形参1),成员变量名(形参2)...{}

   // eg: A ( int  a) : _a1(a),_a2(a1){}

class A

{

public:

A ( int  a) : _a1(a),_a2(a1){}

private:

int _a1;

int _a2;    //★ tip:初始化列表列表顺序尽量与声明顺序一致,因为初始化是按声明顺序进行的。

}

🚩必须要使用初始化列表的情况:1)引用成员变量;2)const成员变量;3)没有默认构造的类类型。

🚩成员变量走初始化列表的逻辑顺序:👇👇👇

2.static

静态成员变量:

❀静态成员变量不属于某个对象,属于整个类(这个类的所有对象);

❀静态成员变量需要在类外初始化。

静态成员函数:

❀静态成员函数没有this指针;

❀非静态成员函数可以访问静态成员变量,静态成员函数只能访问静态成员变量。

static int GetCount()

{

   // ++_a1;   // 不能访问非静态成员变量,没有this指针

 return  _count;

}

3.友元函数

🚩形式:在函数/类声明前+friend(友元函数声明位置可以任意,不受类访问限定符限制)

🚩友元函数仅仅是一种声明,它不是类的成员函数;

🚩友元函数调用时,与普通函数类似,不会调用this指针(因为它不属于类)

🚩外部友元函数可以访问类的所有成员,但是,它是单向的(即A是B 的友元函数,A可以访问B的私有成员变量;但是B不一定能访问A);

🚩友元关系不能传递 

4.内部类

定义:

一个类定义在另一个类的内部,这个内部类就叫做内部类。

特点:

❀只是受外部类类域限制和访问限定符限制,所以外部类定义的对象中不包含(不会额外开辟资源内部类;

❀内部类默认是外部类的友元类

❀内部类是平行关系(独立开),主要是受类域和访问限定符限制。

应用:

❀当A类跟B类紧密关联,A类实现出来主要就是给B类使用,那么可以考把A类设计为B的内部类;

❀ A如果放到B类的private/protected位置,那么A类就是B类的专属内部类,其他地方都用不了。

5.优化写法

❀匿名对象(生命周期只在当前一行)

eg:

A();

A(11);

 ❀传值传参

// 传值传参 ->无优化

   A aal(1);
   f1(aa1);                    //不推荐❌

   cout<<endl;     

// 构造+拷贝构造﹣>优化直接构造
f1(A(1));                     //推荐
cout << endl << endl; 

// f1(1);                        //推荐

❀返回

 // 一个表达式中,连续拷贝构造+赋值
A aa3;
 aa3=f2();                    //不推荐❌  

cout << endl;

  // 返回时一个表达式中,连续拷贝构   
A aa2 = f2();
 cout << endl ;              //推荐

6.例题   求和1+2+...+n  (不能用for/while/if/else等关键字)

核心代码👇👇👇

#include <iostream>class Sum
{public:Sum(){_ret+=_i;_i++;};static int Getret(){return _ret;}private:static int _i;static int _ret;
};
int Sum ::_i=1;
int Sum ::_ret=0;
class Solution {
public:int Sum_Solution(int n) {Sum a[n];return Sum::Getret();}
};int main()
{
Solution s;
int n = 100;
int result = s.Sum_Solution(n);
cout<< "The sum from 1 to "<< n << " is: " << result <<endl;
return 0;

在上述测试代码中,创建 Solution 类对象 s ,调用 Sum_Solution 函数计算1到100的累加和并输出。运行后会输出1到100的累加和为5050(通过 Sum 类构造静态成员函数的累加逻辑实现)。

7.总结

看了上面的代码,咱们是不是觉得今天的知识点,得到了运用呢🤭

希望大家可以和小邓儿一起学习和进步哈O(∩_∩)O

都看这么久了呢,别忘了一键三连哦😘😘😘


http://www.hkcw.cn/article/hnxPyBfVZO.shtml

相关文章

马斯克打工128天裁员超10万人 特斯拉遇挫引发关注

马斯克打工128天裁员超10万人 特斯拉遇挫引发关注!当地时间5月28日,全球首富埃隆马斯克在社交平台上宣布,他将正式离开特朗普政府。截至当天,马斯克在美国“政府效率部”的任期已满128天。一名白宫官员证实了这一消息,并称马斯克将于当晚开始办理离职程序,主要包括文书工…

如何在CAD中利用LISP脚本根据一圈轮廓线自动生成一圈点?

我们在工作中可能会遇到这种CAD多段线&#xff1a; 它是一圈闭合的轮廓线&#xff0c;并没有点要素。现在需要生成一圈点&#xff0c;使这一圈点围成的轮廓与已有的多段线轮廓一致&#xff0c;并且要求生成点的数量与多段线各拐角点的数量一致。该如何快速实现&#xff1f; 这…

在Halcon中集成YOLO模型的步骤与注意事项

背景 在 Halcon 中集成 YOLO 的本质是传统视觉与深度学习的融合&#xff0c;既能保留 Halcon 在高精度测量、流程控制上的优势&#xff0c;又能借助 YOLO 解决复杂场景下的目标检测问题。这种组合尤其适合需要快速迭代、处理非结构化数据或对实时性有要求的应用场景&#xff0…

警犬找回走失42小时男童 生死救援成功

5月27日13时许,经过42小时持续搜救,重庆市公安局刑侦总队警犬追踪小组成功找到走失的2岁男童兵兵。在这场与时间赛跑的生死救援中,警犬技术再次发挥了关键作用。5月25日20时21分,綦江区公安局接到报警称石角镇下湾村一名2岁的男童兵兵走失。属地警方立即启动应急预案,组织…

全球稳定币风起 有何影响 监管与市场齐动

全球范围内,稳定币的风潮似乎一夜之间兴起。中国香港立法会通过了《稳定币条例草案》,设立法币稳定币发牌制度,预计今年底前机构可向香港金融管理局申请成为合规的稳定币发行商。美国参议院通过《GENIUS法案》,标志着稳定币立法过程中的重要进展。该法案旨在为与美元挂钩的…

哈佛校长毕业致辞获30秒热烈鼓掌 暗讽特朗普政策引共鸣

哈佛校长毕业致辞获30秒热烈鼓掌 暗讽特朗普政策引共鸣!当地时间5月29日,美国法官暂停了特朗普政府此前宣布的取消哈佛大学招收外国学生资质的政策。这项裁决为哈佛大学带来了暂时的胜利。同一天,哈佛大学校长艾伦加伯在毕业典礼上巧妙地讽刺了特朗普政府对大学的打压,获得…

leetcode hot100刷题日记——26.环形链表

解答&#xff1a;(快慢指针&#xff0c;他俩在环里肯定会有相遇的时候) class Solution { public:bool hasCycle(ListNode *head) {ListNode *slowhead;ListNode *fasthead;while(fast&&fast->next){slowslow->next;fastfast->next->next;if(slowfast){re…

女婴术后致瘫,医生被指6分钟无作为,检察官称哪条法律要医生马上急救

台湾台中市2岁多女婴在两个多月接连进行两次腹部手术,却在第二次手术时因缺氧而导致全身瘫痪变植物人。家长控诉,术后向医院询问未获合理回应,2023年11月起诉后才发现,手术中从送进手术室到麻醉师接手竟有6分钟无人处理,后续急救超35分钟仍因缺氧致瘫。家长每日以泪洗面,…

“车圈恒大论”之下汽车行业谁焦虑 负债结构引关注

长城汽车董事长魏建军关于“汽车行业的‘恒大’已经出现,只不过没爆”的言论,引发了市场广泛关注。这一观点不仅反映了新能源转型过程中部分企业的焦虑,也促使人们重新审视车企的资产负债结构和盈利能力等核心问题。将汽车行业简单类比于房地产高杠杆模式存在显著偏差。作为…

专家拆解8大网红减肥法 揭秘背后健康代价

在全民减重热潮下,诸如“7天瘦10斤”的网红减肥法持续霸榜热搜,但其背后的健康代价却被严重低估。北京协和医院临床营养科主任医师陈伟深度拆解了8大网红减肥法,从网友推崇的明星减肥法到风靡社交媒体的16+8轻断食,揭示了其中可能存在的健康风险,并给出了4套科学减重方案:…

媒体谈魏建军的“行业檄文” 一场批判乱象与自我辩护的双重叙事

2025年的车圈,长城汽车因为其董事长魏建军不断发表的“行业檄文”一直在舆论的风口浪尖跳舞,有人为其摇旗呐喊,有人不予认同。乱象丛生中,是正视新能源转型的阵痛、重构用户导向的体系,还是掩盖长城从“主流引领者”向“利润守成者”的退守。今天我们从行业市场竞争、行业…

很难做到两者兼得,可能导致美国“破产”,“大而美”法案遭马斯克“最强烈指责” 债务危机逼近

美国亿万富翁马斯克在接受哥伦比亚广播公司采访时对众议院通过并得到特朗普支持的“大而美”税收与支出法案表达了失望,认为它破坏了政府效率部团队的工作。这一言论引发了媒体对马斯克与特朗普关系以及美国债务问题的关注。当前,“大而美”法案仍在推进中,但其复杂性和国内…

千分之七秒劣势憾失亚军!吴艳妮亚锦赛获铜牌 微弱差距彰显实力

5月29日,第26届亚洲田径锦标赛女子100米跨栏决赛在韩国龟尾市举行。中国选手吴艳妮以13秒068的成绩获得季军,与日本选手田中佑美仅相差千分之七秒。印度选手亚拉吉以12秒96的成绩卫冕,并刷新了赛会纪录;田中佑美则以13秒061摘得银牌,另一名中国选手刘景扬以13秒32的成绩位…

瑞幸咖啡迈入“6块9”时代 价格战再升级

5月30日,有消费者发现瑞幸咖啡的价格降至6.9元一杯,以前最低价通常是9.9元。此前,瑞幸咖啡曾掀起奶茶与咖啡行业的价格战,但最低价也仅限于9.9元/杯。本季度以来,外卖平台的价格战集中在奶茶和咖啡领域,导致瑞幸咖啡的主要竞争对手之一库迪咖啡将单品价格压低至3.9元和4.…

抱树放松有科学依据吗?因工作受挫女子每月花780元抱树放松

近日,杭州一位名叫丁丁的姑娘因工作受挫,选择了一种特别的放松方式——参加“森林疗养”。此次疗养体验价为780元,疗养过程持续了近三小时。在疗养现场,丁丁双手环抱树干,弯腰将头顶在树身上,保持这样的姿势静默数分钟。令人意外的是,疗养结束后,她表示工作上的焦虑好像…

警方侦破一起恶意刷单骗取补贴案 全链条捣毁犯罪团伙

今天上午,上海市公安局新闻发布会透露,上海警方根据企业报案,深入侦查后成功侦破一起恶意刷单骗取补贴案,全链条捣毁券商、刷手、商户犯罪团伙,抓获犯罪嫌疑人15名。去年底,上海市公安局普陀分局接到某互联网企业负责人报案,称不法分子侵入企业平台后台系统,大肆购买已…

陈雨菲回应横扫安洗莹 终结对手27连胜

北京时间5月30日,在2025年新加坡羽毛球公开赛的1/4决赛中,陈雨菲以21-13和21-16连胜两局,击败了安洗莹。这场比赛不仅让陈雨菲成功晋级女单四强,还终结了安洗莹本赛季的27连胜纪录。责任编辑:zhangxiaohua

市中级人民法院1名干警获最高人民法院通报表扬 惠州中院立案庭副庭长受表彰

近日,最高人民法院印发通报,决定对100个集体和100名个人进行表扬,其中广东有4个集体和4名个人上榜。惠州中院立案庭副庭长林峥云被评为“人民法院立案信访诉服工作成绩突出个人”。通报指出,希望受到表扬的集体和个人珍惜荣誉、再接再厉,发挥模范带头作用,以更高标准干在…

thc-ssl-dos:SSL 压力测试的轻量级工具!全参数详细教程!Kali Linux教程!

简介 THC-SSL-DOS 是一款用于验证 SSL 性能的工具。 建立安全的 SSL 连接需要服务器比客户端高 15 倍的处理能力。 THC-SSL-DOS 利用这种不对称特性&#xff0c;通过使服务器过载并使其断网。 此问题影响当今所有 SSL 实现。供应商自 2003 年以来就已意识到这个问题&#x…

学习STC51单片机19(芯片为STC89C52RCRC)

每日一言 别怕起点低&#xff0c;持续向前的人&#xff0c;终会抵达山顶。 串口通信02_发送一个字符串给pc 复习一下&#xff1a;C 语言中没有专门的字符串类型&#xff0c;而是通过char类型的数组存储字符串&#xff0c;末尾以 空字符\0 作为结束标志。字符串本质上是由字符&a…