C++primer plus第六版课后编程题答案10.2

Person.h

#ifndef Person_H_
#define Person_H_
#include <string>
using namespace std;
class Person{
private:
	static const int LIMIT=25;
	string lname;
	char fname[LIMIT];
public:
	Person(){lname="default";fname[0]='\0';}
	Person(const string &ln,const char *fn="Heyyou");
	~Person();
	void show()const;
	void FormalShow()const;




};
#endif

Person.cpp

#include <iostream>
#include "Person.h"
#include <string>
#include <cctype>
using namespace std;
/*
Person::Person()
{	
}*/
Person::Person(const string &ln,const char*fn)//不要写成const char*fn="Heyyou"
{				//会发生重定义参数错误
		cout<<"\n\nln address:"<<&ln<<endl;
		lname=ln;
		cout<<"lname address:"<<&lname<<endl;
		int i=0;
		for(;i<LIMIT&&fn[i]!='\0';i++)
			fname[i]=fn[i];
		fname[i]='\0';
}
Person::~Person()
{}

void Person::show()const
{
	cout<<"\nlname1:"<<lname<<endl;
	cout<<"lname address:"<<&lname<<endl;
	cout<<"fname1:"<<fname<<endl;
	//showChar(fname);
}
void Person::FormalShow()const
{
	
	cout<<"\nlname address:"<<&lname<<endl;
	cout<<"fname2:"<<fname<<endl;
	cout<<"lname2:"<<lname<<endl;
}

void showChar(const char fn[])
{
	for(int i=0;fn[i]!='\0';i++)
		cout<<fn[i];

}

main102.cpp

#include <iostream>
#include "Person.h"
using namespace std;
void main102()
{
	Person p;
	p.show();
	p.FormalShow();
	
	Person p1("Smythe");
	p1.show();
	p1.FormalShow();
	Person p2("Dimwiddy","Sam");
	p2.show();
	p2.FormalShow();
	cin.get();



}


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值