用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()函数。

拜托了!!!!!!!!!
展开
 我来答
斐兹骏骑
2010-05-14
知道答主
回答量:24
采纳率:0%
帮助的人:17万
展开全部
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*的
clock19
2010-05-08 · 超过15用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:52.1万
展开全部
------------------- 头文件-------------------------
#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());

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xunxunnuaa
2010-05-08 · TA获得超过651个赞
知道小有建树答主
回答量:548
采纳率:0%
帮助的人:447万
展开全部
#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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaoaixiaoaiap
推荐于2016-09-22 · 超过31用户采纳过TA的回答
知道答主
回答量:158
采纳率:0%
帮助的人:106万
展开全部
#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);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式