C++中定义带接口函数的类

第四次作业:

声明一个Person类,包含两个私有成员变量const char * name和int age。定义getName, setName, getAge和setAge四个接口函数,分别可以对私有成员name和age进行读写;在Person类中定义一个无参构造函数,分别对name和age赋值"张三"和18;再定义一个有参构造函数,参数是const char * newName和int newAge,在函数体中分别将newName和newAge赋值给name和age。

在main函数中定义一个Person person1对象(不带参数),用cout输出person1的name和age值(通过接口函数);用setName和se tAge接口函数给person1私有成员重新赋值,再用cout输出姓名和年龄(通过接口函数);再定义一个调用带参数构造函数的对象Person person2(“新名字”,年龄),用cout输出person2的name和age值(通过接口函数)。

#include<iostream>
using namespace std;
	//定义Person类
class Person
{
public:
	//无参构造函数
	Person()
	{
		name="张三";
		age=18;
	}
	//有参构造函数
	Person(const char *newName,int newAge)
	{
		name=newName;
		age=newAge;
	}
	//接口函数
	const char *getName()
	{
		return name;
	}
	void setName(const char *newName)
	{
		this->name=newName;
	}
	int getAge()
	{
		return this->age;
	}
	void setAge(int newAge)
	{
		this->age=newAge;
	}
private:
	const char *name;
	int age;
};


int main()
{
	Person person1;
	cout<<"姓名: "<<person1.getName()<<endl;
	cout<<"年龄: "<<person1.getAge()<<endl;
	person1.setName("李四");
	person1.setAge(36);
	cout<<"姓名: "<<person1.getName()<<endl;
	cout<<"年龄: "<<person1.getAge()<<endl;
	Person person2("王麻子",54);
	cout<<"姓名: "<<person2.getName()<<endl;
	cout<<"年龄: "<<person2.getAge()<<endl;
	return 0;
}

注意:一个类可以有多个构造函数,且构造函数是可以有参数的。接口函数中可以对数据进行甄别输出和有条件输入,保证类的安全性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值