[VC++]如何将相关成员函数改为常成员函数?
如何将相关成员函数改为常成员函数例题:原题为:建立一个名为Student的类,该类有以下几个私有成员变量:学生姓名,学号,性别,年龄。还有以下两个成员函数:一个用于初始化...
如何将相关成员函数改为常成员函数
例题:原题为:建立一个名为Student的类,该类有以下几个私有成员变量 :学生姓名,学号,性别,年龄。还有以下两个成员函数:一个用于初始化学生姓名,学号,和年龄的构造函数,一个用于输出学生信息的函数。编写一个主函数,声明一个学生对象,然后调用成员函数在屏幕输出学生信息。
这个程序如何编写?
如果将相关成员函数改为常成员函数,又如何修改?
谢谢^^ 展开
例题:原题为:建立一个名为Student的类,该类有以下几个私有成员变量 :学生姓名,学号,性别,年龄。还有以下两个成员函数:一个用于初始化学生姓名,学号,和年龄的构造函数,一个用于输出学生信息的函数。编写一个主函数,声明一个学生对象,然后调用成员函数在屏幕输出学生信息。
这个程序如何编写?
如果将相关成员函数改为常成员函数,又如何修改?
谢谢^^ 展开
1个回答
展开全部
//类的定义如下(即Student.h):
#include "iostream.h"
class Student
{
public:
Student(char *name,char *num,char *sex,int age);//构造函数
~Student();//析构函数
void print();//打印输出函数 ......(1)
private:
char *sname;
char *snum;
char *ssex;
int sage;
};
//类的实现部分如下(即Student.cpp)
#include "Student.h"
#include "iostream.h"
#include "string.h"
Student::Student(char *name,char *num,char *sex,int age)
{ //构造函数
sname=new char[20];
snum=new char[20];
ssex=new char[4];//动态申请空间
strcpy(sname,name);
strcpy(snum,num);
strcpy(ssex,sex);//字符串赋值操作
sage=age;
}
Student::~Student()
{
if(sname!=NULL)
delete[] sname;
if(snum!=NULL)
delete[] snum;
if(ssex!=NULL)
delete[] ssex;
}
void Student::print()//......(2)
{//打印输出函数
cout<<"学生信息:";
cout<<endl<<"姓名:"<<sname;
cout<<endl<<"学号:"<<snum;
cout<<endl<<"性别:"<<ssex;
cout<<endl<<"年龄:"<<sage<<endl;
}
//主函数部分如下(即main.cpp)
#include "Student.h"
#include "iostream.h"
void main()
{
Student s1("张三","1234567890","男",20);
s1.print();
}
要将成员函数改为常成员函数的话,只要在成员函数后加const说明,即(1)和(2)改为:void print() const; 和
void Student::print() const即可
#include "iostream.h"
class Student
{
public:
Student(char *name,char *num,char *sex,int age);//构造函数
~Student();//析构函数
void print();//打印输出函数 ......(1)
private:
char *sname;
char *snum;
char *ssex;
int sage;
};
//类的实现部分如下(即Student.cpp)
#include "Student.h"
#include "iostream.h"
#include "string.h"
Student::Student(char *name,char *num,char *sex,int age)
{ //构造函数
sname=new char[20];
snum=new char[20];
ssex=new char[4];//动态申请空间
strcpy(sname,name);
strcpy(snum,num);
strcpy(ssex,sex);//字符串赋值操作
sage=age;
}
Student::~Student()
{
if(sname!=NULL)
delete[] sname;
if(snum!=NULL)
delete[] snum;
if(ssex!=NULL)
delete[] ssex;
}
void Student::print()//......(2)
{//打印输出函数
cout<<"学生信息:";
cout<<endl<<"姓名:"<<sname;
cout<<endl<<"学号:"<<snum;
cout<<endl<<"性别:"<<ssex;
cout<<endl<<"年龄:"<<sage<<endl;
}
//主函数部分如下(即main.cpp)
#include "Student.h"
#include "iostream.h"
void main()
{
Student s1("张三","1234567890","男",20);
s1.print();
}
要将成员函数改为常成员函数的话,只要在成员函数后加const说明,即(1)和(2)改为:void print() const; 和
void Student::print() const即可
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询