温馨提示:这篇文章已超过398天没有更新,请注意相关的内容是否还可用!
摘要:本文介绍了C++中的类和对象(七),详细阐述了类的概念及其重要性,包括类的属性和方法。通过实例展示了如何创建和使用对象,包括对象的实例化、成员变量的访问以及成员函数的调用等。本文旨在帮助读者深入理解类和对象在C++编程中的核心概念和基本用法。
🌟个人主页:Quitecoder 🌟
📚专栏:c++笔记仓 📚
朋友们大家好,欢迎来到本篇文章,我们将继续探讨类和对象的最后几个重要话题。
目录
1、static成员
* 特性
2、友元
引入函数重载与友元概念
* 友元函数
* 友元类
3、内部类
4、匿名对象
5、拷贝对象时的编译器优化
🔥1. static成员 🔥
在类中,被声明为static的成员称为类的静态成员,包括静态成员变量和静态成员函数,静态成员变量必须在类外进行初始化。
例题:统计A类型创造了多少个对象
考虑一种情况,我们需要知道A类型的对象被创建了多少次,一种方法是使用全局变量,但更好的方式是使用类的静态成员。
修正后的代码如下:
class A { public: A() { ++n; } // 构造函数中增加静态成员n的值 A(const A& a) { ++n; } // 拷贝构造函数中同样增加静态成员n的值 private: static int n; // 定义静态成员变量n }; int A::n = 0; // 在类外初始化静态成员变量n
为了获取当前A类创建的对象数量,可以添加一个静态成员函数如Getn()
来返回n的值。
🔐补充 🔐
对于Date类,可以添加一个SetTimeOfDate函数来设置时间,并使其与Time类相互关联,Date类可以作为Time类的友元,以直接访问其私有成员。
关于构造函数中的初始化列表,用于初始化类的成员变量,可以提高效率并确保正确的初始化顺序。
在涉及对象拷贝时,编译器会进行某些优化,如返回值优化(Return Value Optimization, RVO)和命名返回值优化(Named Return Value Optimization, NRVO),了解这些优化有助于更好地管理资源和提高效率。
就是关于类和对象的最后几个话题的概述,希望这些内容对您有所帮助!
还没有评论,来说两句吧...