静态成员,指的是在C++类中声明成员时,可以加上static关键字,这样声明的成员叫静态成员。
静态成员分为静态数据成员和静态函数成员两种。
下面举例子,来更加深入的了解静态数据成员。
举例理解:
修饰块作用域变量,内存在全局数据区,使用在块内。
修饰全局变量,内存在全局数据区,使用在当前文件内。
修饰普通函数,C语言中普通函数默认全局使用,加static修饰之后,该函数只能在当前文件中使用。
修饰类中成员数据,所有对象共享该数据成员。
修饰类中函数成员,函数也是被所有对象共享,且在该函数中只能操作静态数据成员。
单例模式是一种常用的软件设计模式。
通过单例模式可以保证系统中,应用该模式的类只有一个实例对象。
class MyStu
{
static MyStu*p; //定义一个静态的对象指针,不属于对象,属于类
int id;
private: //私有或保护,构造数据将无访问权限,那么将无法产生对象
MyStu()
{
}
public:
static MyStu*createMyStu(); //静态的成员函数
static void clear();
};
MyStu*MyStu::p = NULL; //定义
MyStu*MyStu::createMyStu()
{
if (p == NULL)
p = new MyStu;
return p;
}
void MyStu::clear()
{
if (p != NULL)
delete p;
p = NULL;
}
void main()
{
MyStu*p = NULL;
p = MyStu::createMyStu(); //创建一个无名的堆对象,且仅有一个
MyStu*p = MyStu::createMyStu();
MyStu::clear();
}
类的特性之一就是封装。
友元是C++为用户提供打破这种封装的手段。
友元分为友元函数和友元类
友元的特点:单方向,不传递,
常量成员,指的是在C++类中声明对象成员时可以加上const关键字,这样声明的成员叫常量成员。
常量成员分为常量数据成员和常量函数成员。
举例理解:
常量函数成员:在函数的后面加const。
通过语法来限定在该函数成员内是无法修改类中的数据成员。
红色波浪线都是报错的。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- howto234.com 版权所有 湘ICP备2022005869号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务