任务一、
问题1
自定义了两个类,分别是window和button类,引用了标准库vector和string类
window---{string,button vector}
button----{string}
问题2
这个函数可以使用inline来修饰,它的逻辑简单,使用可以优化程序
不可以使用const,内部的button和click都不是const类型
问题3
功能是创建一个有40个‘*’的字符串
任务二、
问题1、
第一行初始化v1,第二行深拷贝,第三行,改变v1第0个元素的值
问题2、
同上,但是v2被声明成了const,经过实验,表示v2不可更改,v2中的元素不能更改
问题3、
39-43行代码,t1深拷贝v1的0号元素,打印v1的最后一个元素,t2同理,const我不加仍然可以运行
问题4、
vector中都是深拷贝,甚至二维的都是深拷贝
at()需要一个const成员函数作为接口,可以增加接口的丰富度(其他不太明白)
任务三
问题1、
是深拷贝、
问题2、
改成int&就没用啦,因为返回的就无法继续操作了
如果去掉了可以假设一个场景:
我们创建了一个const的对象,调用了这个const的at函数,但是可能会返回一个非const的解引用类型回来,
这个返回值是没有const的,那么我们的const就会被小贼篡改
标签:OPP,string,button,v1,vector,实验,const,拷贝 From: https://www.cnblogs.com/xuyi5448/p/18525834