备考2020年全国计算机二级考试的小伙伴们,复习的都怎么样了呢?树图网小编整理了2020年全国计算机二级C++复习知识点供大家参考复习,小伙伴们快来看看,测试一下自己吧!了解更多全国计算机二级考试敬请关注树图网计算机二级频道。
树图思维导图提供 2020年全国计算机二级C++复习知识点:静态成员1 在线思维导图免费制作,点击“编辑”按钮,可对 2020年全国计算机二级C++复习知识点:静态成员1 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:7c8b5823be70375c5f3e469b81914523
2020年全国计算机二级C++复习知识点:静态成员1思维导图模板大纲
可以把类的成员声明为静态的。静态成员只能存在一的实例。所有的成员函数都可以访问这个静态成员。即使没有声明类的任何实例,静态成员也已经是存在的。不过类当中声明静态成员时并不能自动定义这个变量,必须在类定义之外来定义该成员。
静态数据成员相当于一个全局变量,类的所有实例都可以使用它。成员函数能访问并且修改这个值。如果这个静态成员是公有的,那么类的作用域之内的所有代码(不论是在类的内部还是外部)都可以访问这个成员。下面的程序通过静态数据成员来记录链表首项和末项的地址。
#include iostream.h
#include string.h
class ListEntry
public:
static ListEntry* firstentry;
private:
static ListEntry* lastentry;
char* listvalue;
ListEntry* nextentry;
public:
ListEntry(char*);
~ListEntry() { delete [] listvalue;}
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;
程序首先显示提示信息,输入一串姓名,以end作为结束标志。然后按照输入顺序来显示姓名。构造函数将表项加入链表,用new运算符来声明一个表项,但并没有把new运算符返回的地址赋值给某个指针,这是因为构造函数会把该表项的地址赋值给前一个表项的nextentry指针。
这个程序和前面将的逆序输出的程序都不是方法,的方法是使用类模板,这在后面再介绍。
main()函数取得ListEntry::firstentry的值,开始遍历链表,因此必需把ListEntry::firstentry设置成公有数据成员,这不符合面向对象程序的约定,因为这里数据成员是公有的。
树图思维导图提供 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 在线思维导图免费制作,点击“编辑”按钮,可对 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:10b9a8a2dd2fb4593f8130ef16c320fc
树图思维导图提供 销售经理半年规划 在线思维导图免费制作,点击“编辑”按钮,可对 销售经理半年规划 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:e614d6bcf03e9318109240a18697c5d1