Girl类和Boy类

编程实现:

      1.按如下UML图设计Girl类和Boy类,添加必要的构造器,综合应用构造器的重载,this关键字。

      2. Girl类中的marry方法实现以下功能:屏幕输出“我嫁给某某某”,其中某某某是形参boy对象的名字。

          Boy类中的marry方法实现以下功能:屏幕输出“我要娶某某某”,其中某某某是形参girl对象的名字

          Boy中的shout方法实现:如果男孩的年龄大于等于22岁,就屏幕显式“我们要结婚了!”,如果小于22岁则屏幕显式:“我们继续谈恋爱吧!”


定义类 

【Boy.java】

package xxx;



public class Boy {

	private String name;

	private int age;

	

	public String getName() {

		return name;
	}
	public void setName(String name) {

		this.name = name;
	}
	public int getAge() {

		return age;
	}
	public void setAge(int age) {

		this.age = age;
	}

	

	public void marry(Girl girl) {

		System.out.println("我要娶"+girl.getName());

	}
	public void shout() {

		if(this.age > 22) {

			System.out.println("我到了结婚的年龄了!");

		}else{

			System.out.println("还是先谈谈恋爱吧");
		}
	}
}

【Girl.java】

package xxx;


public class Girl {

	private String name;

	public String getName() {

		return name;

	}

	public void setName(String name) {

		this.name = name;

	}

	public void marry(Boy boy) {

		System.out.println("我要嫁给"+boy.getName());

		boy.marry(this);

	}

}

测试类 

【TestBoyGirl.java】

package xxx;



public class TestBoyGirl {

	public static void main(String[] args) {

		Boy boy = new Boy();

		boy.setName("工藤新一");

		boy.setAge(23);

		

		Girl girl = new Girl();

		girl.setName("小兰");

		

		boy.marry(girl);

		boy.shout();

		System.out.println();

		girl.marry(boy);

	}

}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是GirlBoy的定义,包括构造函数、析构函数以及输出成员变量信息的公有成员函数: ```cpp #include <iostream> #include <string> using namespace std; class Boy; // 提前声明Boy class Girl { private: string name; int age; public: Girl(string n, int a) : name(n), age(a) {} ~Girl() {} void Print() { cout << "Name: " << name << endl; cout << "Age: " << age << endl; } friend void visitBoyGirl(Boy&, Girl&); void VisitBoy(Boy& b); // 声明为Boy的友元成员 }; class Boy { private: string name; int age; public: Boy(string n, int a) : name(n), age(a) {} ~Boy() {} void Print() { cout << "Name: " << name << endl; cout << "Age: " << age << endl; } friend void visitBoyGirl(Boy&, Girl&); friend void Girl::VisitBoy(Boy& b); // 声明为Girl的友元成员 }; void Girl::VisitBoy(Boy& b) { cout << "Boy's name: " << b.name << endl; cout << "Boy's age: " << b.age << endl; } void visitBoyGirl(Boy& b, Girl& g) { cout << "Boy's name: " << b.name << endl; cout << "Boy's age: " << b.age << endl; cout << "Girl's name: " << g.name << endl; cout << "Girl's age: " << g.age << endl; } ``` 在上述代码中,Girl中定义了一个名为VisitBoy的成员函数,并将其声明为Boy的友元成员,从而可以访问Boy的私有成员。另外,Boy中也定义了一个名为VisitBoy的成员函数,并将其声明为Girl的友元成员,但是由于本题中要求删除Girl的VisitBoy函数,因此这里不做展开。 同时,定义了一个普通函数visitBoyGirl作为以上两个的友元函数,通过调用该函数输出BoyGirl的信息。 在主函数中,可以按照以下方式使用以上定义的和函数: ```cpp int main() { Girl girl("ZHOU Yuxing", 16); Boy boy("Chen Qi", 15); girl.Print(); boy.Print(); girl.VisitBoy(boy); visitBoyGirl(boy, girl); return 0; } ``` 以上代码创建了一个Girl对象girl和一个Boy对象boy,并分别调用它们的Print函数输出姓名和年龄。接着,girl对象调用VisitBoy函数访问boy对象的私有成员,并调用visitBoyGirl函数输出两个对象的信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渡不渡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值