题目:
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;
}
演示效果:
如果朋友你感觉文章的内容对你有帮助,可以点赞,关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈