为了账号安全,请及时绑定邮箱和手机立即绑定

如果规定该程序的主函数和类CStudent中的成员变量的属性不允许改变,应该如何改正该程序?

如果规定该程序的主函数和类CStudent中的成员变量的属性不允许改变,应该如何改正该程序?

C++
Devil10 2016-06-11 18:21:45
#include <iostream.h>#include <string.h>class CStudent{public:CStudent(char *n, int a);~CStudent();static void SetAge(int age);private:char *name;int age;static int nTotalObj;};int CStudent::nTotalObj = 0;CStudent::CStudent(char *n, int a):age(a){int nLen = strlen(n);name = new char[nLen+1];strcpy(name,n);name[nLen] = ’\0’;nTotalObj++;}CStudent::~CStudent(){delete[] name;nTotalObj--;}void CStudent::SetAge(int age){this->age = age;}void main(){CStudent stu1("张三",25);CStudent str2("李四",26);cout<<"CStudent::nTotalObj="<<CStudent::nTotalObj<<endl;}
查看完整描述

1 回答

已采纳
?
asd8532

TA贡献143条经验 获得超187个赞

使用静态成员函数的目的就是使这个函数成为“类”级别的,而不是“对象级别”的,实际上相当于必须通过这个类使用的全局函数,是不属于任何对象的,如果你感觉一个静态成员函数需要处理对象,那么很可能是应该把它定义为成员函数。静态成员函数不能调用普通成员函数和使用普通成员变量。

void CStudent::SetAge(int age)
{
this->age = age;
}这个就不行

查看完整回答
反对 回复 2016-06-11
  • 1 回答
  • 0 关注
  • 1933 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信