引用:编程题01

Posted begin-again

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了引用:编程题01相关的知识,希望对你有一定的参考价值。

题目:

设计一个类Rect,要求有下列成员函数。

1) move();从一个位置移动到另一个位置

2) size();     改变矩形大小

3) where();  返回矩形左上角的坐标值

4) area();     计算面积

Atention:     where()成员函数返回矩形左上角的坐标,也就是两个参数,利用引用类型;

       引用前需要初始化

 1 #include <iostream>
 2 using namespace std;
 3 class Rect
 4 {
 5     int x,h;
 6     int y,w;
 7 public:
 8     Rect(int x1,int y1,int h1,int w1)
 9     {
10         x=x1;
11         y=y1;
12         h=h1;
13         w=w1;
14     }
15  void move(int x1,int y1)
16 {
17     x=x1;
18     y=y1;
19 }
20  void size(int h1,int w1)
21 {
22     w=w1;
23     h=h1;
24 }
25  void where(int &x1,int &y1)//引用
26 {
27     x1=x;
28     y1=y;
29 }
30  int area()
31 {
32     return w*h;
33 }
34 };
35 int main()
36 {
37     Rect r(2,3,20,10);
38     int x,y;
39     cout<<"矩形面积:"<<r.area()<<endl;
40     cout<<"移动到(5,4)"<<endl;
41     r.move(5,4);
42     cout<<"改变宽为6,高为3"<<endl;
43     r.size(6,3);
44     r.where(x,y);
45     cout<<"左上角:("<<x<<","<<y<<")"<<endl;
46     cout<<"矩形面积:"<<r.area()<<endl;
47     return 0;
48 }

技术图片

 

知识点:

    1.引用=取别名

       对引用的改动=对目标的改动

   2.

int x;                         //初始化为引用x
int &y=x;           //数据类型  & 引用名(别名)= 已经定义的变量名 
//x就是y,y就是x;对y的改动=对x的改动
/* 对指针的引用 */
int n=10; //变量n
int *pn = &n; //指针pn指向n
int *&rn = pn; //pn取别名为rn, rn是pn的引用

 3. 对void的引用是不可以的

     不可以引用的引用

     不可建立引用的数组

     没有空引用

 

以上是关于引用:编程题01的主要内容,如果未能解决你的问题,请参考以下文章

一道经典面试题:字符串在Java中如何通过“引用”传递

片段中的 super.onCreateView

第2题——DNA片段

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

函数式编程