C++-练习-66

题目:

class Person{

private:

        static const LIMIT = 25;

        string lname;

        char fname[LIMIT];

public:

        Person(){lname = "";fname[0] = '\0';}

        Person(const string & ln,const char * fn  = "Heyyou");

        //以下方法显示lname和fname

        void Show() const;

        void FormalShow() const;

};

请提供未定义的方法的代码以完成这个类的实现。再编写一个使用这个类的程序,它使用了三种可能的构造函数调用(没有参数,一个参数和两个参数)以及两种显式方法。下面是一个使用这些构造哈桑和方法的例子:

源代码:

test.h

#include <iostream>
#include <string>
#include <cstring>

class Person {
private:
	static const int LIMIT = 25;
	std::string lname;
	char fname[LIMIT];
public:
	Person() { lname = ""; fname[0] = '\0'; }
	Person(const std::string& ln, const char* fn = "Heyyou");
	//以下方法显示lname和fname
	void Show() const;
	void FormalShow() const;
};

test.cpp

#include "test.h"

int main()
{
	using namespace std;
	Person one;
	Person two("Smythecraft");
	Person three("Dimwiddy", "sam");
	one.Show();
	two.Show();
	three.Show();
	one.FormalShow();
	two.FormalShow();
	three.FormalShow();
	return 0;
}

test_function.cpp

#define _CRT_SECURE_NO_WARNINGS
#include "test.h"

Person::Person(const std::string& ln, const char* fn)
{
	lname = ln;
	strncpy(fname, fn, LIMIT);
}
//以下方法显示lname和fname
void Person::Show() const
{
	std::cout << lname << std::endl;
}
void Person::FormalShow() const
{
	std::cout << fname << std::endl;
}

演示效果:


如果朋友你感觉文章的内容对你有帮助,可以点赞关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈 

猜你喜欢

转载自blog.csdn.net/little_startoo/article/details/143279688