栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++学习记录 类数据成员&类成员函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++学习记录 类数据成员&类成员函数

类成员:

成员属于类,不属于类的对象。与之相对的是对象成员/实例成员,是属于对象的成员。

关键字static:

使用关键字static来创建一个类成员。类数据成员与类本身相关,与任何类对象无关。

声明:

class C {
public:
	static unsigned getN()  {return n;}
private:
	static unsigned n;
};

类成员与对象成员的异同示例:

 类数据成员必须在类内用static进行声明,且必须在类外定义。定义时可以指定初值,默认是0.

class C {
public:
	static unsigned getN()  {return n;}
private:
	static unsigned n;
};


unsigned C::n = 0; //define

(将数据成员设置为static不会改变其对应的sizeof(对象或类型所占的内存字节数))

static成员函数:类成员函数

静态成员函数只能访问其他的静态数据成员;非静态成员函数可以访问static或非static成员.

static成员函数可以是inline或非inline.

对于static数据成员和static成员函数的访问方式:通过对象访问,或者直接通过类访问.

class C {
public:
	static  int p;
	static void cmath();

};

int main() {
	C c;
	//通过对象访问
	c.cmath();
	int x1 = c.p;
	//通过类访问
	C::cmath();
	int x2 = C::p;
}

成员函数内部的静态变量:

将成员函数内的某个局部变量x定义为static型,该类的所有对象调用该函数时共享此变量x;不同对象在访问该函数时访问同一个x.对于非静态局部变量,每个对象都各自拥有一个变量x.

———————————2021-11-05-18:32———————————

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/429531.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号