2020年全国计算机二级C++复习知识点:静态成员2

时间:2020-05-20 17:26:58 来源:

【摘要】 即将参加全国计算机等级考试的考生们,考试即将到来,大家的备考工作进行得如何了?考必过为大家精心整理了2020年全国计算机二级C++复习知识点:静态成员2,希望能够助力全国计算机等级考试,相信坚持一定会有成果。那么,同学们一起快来做题吧!关于2020年全国计算机二级C++复习知识点:静态成员2的具体内容如下:

2020年全国计算机二级C++复习知识点:静态成员2

可以把类的成员声明为静态的。静态成员只能存在一的实例。所有的成员函数都可以访问这个静态成员。即使没有声明类的任何实例,静态成员也已经是存在的。不过类当中声明静态成员时并不能自动定义这个变量,必须在类定义之外来定义该成员。

静态成员函数

成员函数也可以是静态的。如果一个静态成员函数不需要访问类的任何实例的成员,可以使用类名或者对象名来调用它。静态成员通常用在只需要访问静态数据成员的情况下。

静态成员函数没有this指针,因为它不能访问非静态成员,所以它们不能把this指针指向任何东西。

下面的程序中,ListEntry类中加入了一个静态成员函数FirstEntry(),它从数据成员firstentry获得链表项的地址,在这儿,firstentry已经声明为私有数据成员了。

#include iostream.h

#include string.h

class ListEntry

{

static ListEntry* firstentry;

static ListEntry* lastentry;

char* listvalue;

ListEntry* nextentry;

public:

ListEntry(char*);

~ListEntry() { delete [] listvalue;}

static ListEntry* FirstEntry() { return firstentry; }

ListEntry* NextEntry() const { return nextentry; };

void display() const { cout < };

ListEntry* ListEntry::firstentry;

ListEntry* ListEntry::lastentry;

ListEntry::ListEntry(char* s)

{

if(firstentry==0) firstentry=this;

if(lastentry!=0) lastentry- >nextentry=this;

lastentry=this;

listvalue=new char[strlen(s)+1];

strcpy(listvalue, s);

nextentry = 0;

}

int main()

{

while (1)

{

cout <<\nEnter a name ('end' when done):;

char name[25];

cin >> name;

if(strncmp(name,end,3)==0) break;

new ListEntry(name);

}

ListEntry* next = ListEntry::FirstEntry();

while (next != 0)

{

next- >display();

ListEntry* hold = next;

next = next- >NextEntry();

delete hold;

}

return 0;

}

函数ListEntry::FirstEntry()是静态的,返回静态数据成员firstentry的值。

以上就是考必过为大家整理的2020年全国计算机二级C++复习知识点:静态成员2的具体内容。没有特别幸运,那么请先特别努力,别因为懒惰而失败,还矫情地将原因归于自己倒霉。你必须特别努力,才能显得毫不费力。最后,考必过预祝大家在未来的全国计算机等级考试中能够取得优异的成绩!

上一篇      下一篇
计算机等级相关推荐 更多>>
计算机等级热点专题 更多>>
热点问答
国家公务员考试年龄限制是多少 公务员国考和省考考试内容有什么区别 函授大专学历能不能考公务员 国家公务员考试考点能自己选择吗 新闻学专业能报考2022年公务员考试吗 什么是联合培养研究生 什么是破格录取研究生 什么人不适合读研 研究生报名户口所在地填什么 研究生结业和毕业有什么区别
网站首页 网站地图 返回顶部
考必过移动版 https://m.kaobiguo.net