用C++ 创建一个Client类
急求答案!!!!!!!好心人帮帮忙!!!!用C++创建一个Client类。要求:(1)包含有字符型数组成员变量m_name(姓名),整型成员变量m_age(年龄)、m_t...
急求答案!!!!!!!好心人帮帮忙!!!!
用C++
创建一个Client类。
要求:
(1)包含有字符型数组成员变量m_name(姓名),整型成员变量m_age(年龄)、m_type(客户类别,包括1、2、3三种类别)。
(2)包含一个带参的构造函数用来初始化每个数据成员以及一个无参的构造函数将所有成员变量都初始化为默认值。
(3)包含成员函数SetName(char *pName)和GetName()用来设置姓名和得到姓名。
(4)包含成员函数SetType(int type)和GetType()用来设置和得到客户类别。
(5)设计一个普通函数display(Client c),通过调用Client类相应的成员函数将客户信息显示出来。
(6)设计主函数main(),测试Client类以及display()函数。
拜托了!!!!!!!!! 展开
用C++
创建一个Client类。
要求:
(1)包含有字符型数组成员变量m_name(姓名),整型成员变量m_age(年龄)、m_type(客户类别,包括1、2、3三种类别)。
(2)包含一个带参的构造函数用来初始化每个数据成员以及一个无参的构造函数将所有成员变量都初始化为默认值。
(3)包含成员函数SetName(char *pName)和GetName()用来设置姓名和得到姓名。
(4)包含成员函数SetType(int type)和GetType()用来设置和得到客户类别。
(5)设计一个普通函数display(Client c),通过调用Client类相应的成员函数将客户信息显示出来。
(6)设计主函数main(),测试Client类以及display()函数。
拜托了!!!!!!!!! 展开
4个回答
展开全部
Client.h头文件
namespace std
{
class Client
{
private:
string m_name;//姓名
int m_age;//年龄
int m_type;//客户类型,包括1,2,3三种类别
public:
Client()//无参构造函数,设置每个变量为默认值
{
m_name="";
m_age=0;
m_type=1;
}
Client(string name,int age,int type)//带参数的构造函数,初始化三个变量
{
m_name=name;
m_age=age;
m_type=type;
}
void SetName(char *pName)//设置姓名
{
m_name=*pName;
}
string GetName()//获得姓名
{return m_name;}
void SetType(int type)//设置类型
{
m_type=type;
}
int GetType()//获得类型
{return m_type;}
};
}
主函数文件
#include<iostream>
#include<string>
#include"client.h"
using namespace std;
void display(Client src)//展示client中的类
{
cout<<"姓名:"<<src.GetName()<<endl;
cout<<"客户类型:"<<src.GetType()<<endl;
}
void main()
{
Client x1("xz",21,2),x2;
char *p;
p=(char*)malloc(sizeof(char)*3);
p="lm";
x1.SetName("lm");
// free(p);
x1.SetType(3);
display(x1);
display(x2);
int i;
cin>>i;
}由于类里面没有获得年龄的方法,所以无法获得
展示里面就没有展示,需要的话,就自己写吧,和类型的一模一样,就改个变量名就行了
不过需求里面对于setname的接口设计师有问题的,在main函数里面有行注释加进代码里就会出错,内存的问题,因为接口里面传进去的是字符指针,也就是c风格的字符串,建议改成string类型的,修改也很容易,直接把char*改成string就行了,在c++里string是兼容char*的
namespace std
{
class Client
{
private:
string m_name;//姓名
int m_age;//年龄
int m_type;//客户类型,包括1,2,3三种类别
public:
Client()//无参构造函数,设置每个变量为默认值
{
m_name="";
m_age=0;
m_type=1;
}
Client(string name,int age,int type)//带参数的构造函数,初始化三个变量
{
m_name=name;
m_age=age;
m_type=type;
}
void SetName(char *pName)//设置姓名
{
m_name=*pName;
}
string GetName()//获得姓名
{return m_name;}
void SetType(int type)//设置类型
{
m_type=type;
}
int GetType()//获得类型
{return m_type;}
};
}
主函数文件
#include<iostream>
#include<string>
#include"client.h"
using namespace std;
void display(Client src)//展示client中的类
{
cout<<"姓名:"<<src.GetName()<<endl;
cout<<"客户类型:"<<src.GetType()<<endl;
}
void main()
{
Client x1("xz",21,2),x2;
char *p;
p=(char*)malloc(sizeof(char)*3);
p="lm";
x1.SetName("lm");
// free(p);
x1.SetType(3);
display(x1);
display(x2);
int i;
cin>>i;
}由于类里面没有获得年龄的方法,所以无法获得
展示里面就没有展示,需要的话,就自己写吧,和类型的一模一样,就改个变量名就行了
不过需求里面对于setname的接口设计师有问题的,在main函数里面有行注释加进代码里就会出错,内存的问题,因为接口里面传进去的是字符指针,也就是c风格的字符串,建议改成string类型的,修改也很容易,直接把char*改成string就行了,在c++里string是兼容char*的
展开全部
------------------- 头文件-------------------------
#ifndef CCLIENT_XXXXXX_H
#define CCLIENT_XXXXXX_H
class CClient
{
public:
CClient(void);
CClient(char *pName,int nAge,int nType);
public:
~CClient(void);
private:
char m_name[30];
int m_age;
int m_type;
public:
void SetName(char * pName);
char * GetName();
bool SetType(int nType);
int GetType();
};
#endif
---------------------- cpp文件----------------------------
#include "Client.h"
CClient::CClient(void)
{
m_name[0]='\0)';
m_age=0;
m_type=0;
}
CClient::~CClient(void)
{
}
CClient::CClient(char *pName, int nAge, int nType)
{
memcpy(m_name,pName,30);
m_age=nAge;
m_type=nType;
}
void CClient::SetName(char * pName)
{
if( NULL == pName ){
return ;
}
memcpy(m_name,pName,30);
}
char * CClient::GetName()
{
return m_name;
}
bool CClient::SetType(int nType)
{
if( (1==nType) || (2==nType) || (3==nType) ){
m_type=nType;
return true;
}else{
return false;
}
}
int CClient::GetType()
{
return m_type;
}
-------------------------display函数---------------------------
void display(CClient c)
{
char name[20]="test name";
printf("name:%s\n",c.GetName());
printf("type=%d\n",c.GetType());
printf("-------- new name and type --------\n");
c.SetName(name);
printf("name:%s\n",c.GetName());
c.SetType(2);
printf("type=%d\n",c.GetType());
}
#ifndef CCLIENT_XXXXXX_H
#define CCLIENT_XXXXXX_H
class CClient
{
public:
CClient(void);
CClient(char *pName,int nAge,int nType);
public:
~CClient(void);
private:
char m_name[30];
int m_age;
int m_type;
public:
void SetName(char * pName);
char * GetName();
bool SetType(int nType);
int GetType();
};
#endif
---------------------- cpp文件----------------------------
#include "Client.h"
CClient::CClient(void)
{
m_name[0]='\0)';
m_age=0;
m_type=0;
}
CClient::~CClient(void)
{
}
CClient::CClient(char *pName, int nAge, int nType)
{
memcpy(m_name,pName,30);
m_age=nAge;
m_type=nType;
}
void CClient::SetName(char * pName)
{
if( NULL == pName ){
return ;
}
memcpy(m_name,pName,30);
}
char * CClient::GetName()
{
return m_name;
}
bool CClient::SetType(int nType)
{
if( (1==nType) || (2==nType) || (3==nType) ){
m_type=nType;
return true;
}else{
return false;
}
}
int CClient::GetType()
{
return m_type;
}
-------------------------display函数---------------------------
void display(CClient c)
{
char name[20]="test name";
printf("name:%s\n",c.GetName());
printf("type=%d\n",c.GetType());
printf("-------- new name and type --------\n");
c.SetName(name);
printf("name:%s\n",c.GetName());
c.SetType(2);
printf("type=%d\n",c.GetType());
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream.h>
#include <string.h>
class Client
{
protected:
char* m_name;
int m_age;
int m_type;
public:
Client()
{
m_name = new char[50];
strcpy(m_name, "Tom");
m_age = 18;
m_type = 1;
}
Client(const char* name, int age, int type)
{
m_name = new char[50];
strcpy(m_name, name);
m_age = age;
m_type = type;
}
~Client()
{
delete m_name;
}
void SetName(char* pName)
{
strcpy(m_name, pName);
}
char* GetName() const
{
return m_name;
}
void SetType(int type)
{
m_type = type;
}
int GetType() const
{
return m_type;
}
int GetAge() const
{
return m_age;
}
};
void display(Client c)
{
cout<<"Name:"<<c.GetName()<<" Age:"<<c.GetAge()<<" Type:"<<c.GetType()<<endl;
}
int main(int, char **, char **)
{
Client c;
display(c);
Client cc("Jim", 20, 2);
display(cc);
char ch;
cin>>ch;
return 0;
}
#include <string.h>
class Client
{
protected:
char* m_name;
int m_age;
int m_type;
public:
Client()
{
m_name = new char[50];
strcpy(m_name, "Tom");
m_age = 18;
m_type = 1;
}
Client(const char* name, int age, int type)
{
m_name = new char[50];
strcpy(m_name, name);
m_age = age;
m_type = type;
}
~Client()
{
delete m_name;
}
void SetName(char* pName)
{
strcpy(m_name, pName);
}
char* GetName() const
{
return m_name;
}
void SetType(int type)
{
m_type = type;
}
int GetType() const
{
return m_type;
}
int GetAge() const
{
return m_age;
}
};
void display(Client c)
{
cout<<"Name:"<<c.GetName()<<" Age:"<<c.GetAge()<<" Type:"<<c.GetType()<<endl;
}
int main(int, char **, char **)
{
Client c;
display(c);
Client cc("Jim", 20, 2);
display(cc);
char ch;
cin>>ch;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
#include<string>
using namespace std;
class Client
{
private:
char* m_name;
int m_age,m_type;
public:
Client( char* m_name,int m_age,int m_type)
{
this->m_name=m_name;
this->m_age=m_age;
this->m_type=m_type;
}
Client()
{
m_name="aaa";
m_age=20;
m_type=1;
}
void SetName(char *pName)
{
m_name=pName;
}
void GetName()
{
cout<<"名字为:"<<m_name<<endl;
}
void SetType(int type)
{
m_type=type;
}
void GetType()
{
cout<<"类型为:"<<m_type<<endl;
}
};
void display(Client c)
{
c.GetName();
c.GetType();
}
int main()
{
Client c("yyy",23,2);
c.SetName("rrrr");
c.SetType(2);
display(c);
}
#include<string>
using namespace std;
class Client
{
private:
char* m_name;
int m_age,m_type;
public:
Client( char* m_name,int m_age,int m_type)
{
this->m_name=m_name;
this->m_age=m_age;
this->m_type=m_type;
}
Client()
{
m_name="aaa";
m_age=20;
m_type=1;
}
void SetName(char *pName)
{
m_name=pName;
}
void GetName()
{
cout<<"名字为:"<<m_name<<endl;
}
void SetType(int type)
{
m_type=type;
}
void GetType()
{
cout<<"类型为:"<<m_type<<endl;
}
};
void display(Client c)
{
c.GetName();
c.GetType();
}
int main()
{
Client c("yyy",23,2);
c.SetName("rrrr");
c.SetType(2);
display(c);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询