7 返回什么才好呢

#include <iostream>
using namespace std;
class A {
public:
	int val;

	A(int
// 在此处补充你的代码
};
int main()
{
	int m,n;
	A a;
	cout << a.val << endl;
	while(cin >> m >> n) {
		a.GetObj() = m;
		cout << a.val << endl;
		a.GetObj() = A(n);
		cout << a.val<< endl;
	}
	return 0;
}

输入
多组数据,每组一行,是整数 m 和 n
输出
先输出一行:
123
然后,对每组数据,输出两行,第一行是m,第二行是n

考点:【类型转换构造函数】
1、分析a.GetObj() = m;a.GetObj() = A(n);说明a.GetObj()返回值是一个引用对象【引用作为函数返回值】,所以需要返回一个对象,因此我们直接返回调用该成员方法的这个对象就好,即*this(因为this表示该对象的地址,*this表示这个对象本身)
2、类型转换构造函数是对成员变量val进行操作,当出现赋值操作时出现类型不匹配时,编译器检查类型转换构造函数将它转化成一个对象,再进行赋值
3、综上

class A {
public:
	int val;
	A(int v ){
		val = v; 
	}
	
	A(){
		val = 123; 
	}
	
	A& GetObj(){	
		return *this;
	}
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1) 二分搜索折半查找计算过程是将有序数组分成两部分,取中间值与目标值进行比较,如果相等则返回,如果目标值小于中间值,则在左半部分继续查找,否则在右半部分继续查找,直到找到目标值或者无法继续查找为止。 2) 二分搜索具有较高搜索效率的主要原因是每次可以将搜索范围缩小一半,因此在有序数组中查找目标值的时间复杂度为O(logn)。 3) 二分搜索的时间复杂性函数为T(n)=T(n/2)+O(1),通过主定理法可以推算其大Ο为O(logn)。 4) 快速排序算法包含三个主要步骤:选取基准元素、划分子问题、递归解决子问题。 5) 快速排序当选择了基准元素之后,将数组分成两部分,一部分小于基准元素,一部分大于基准元素。 6) 快速排序不需要子问题解合并的步骤是因为子问题的解已经在递归过程中得到了合并。 7) 快速排序算法只有在最好情况下,即每次选取的基准元素都能将数组均分,时间复杂性才有Ο(nlogn)。 8) 快速排序算法复杂性会达到Ο(n2)的情况是每次选取的基准元素都是最大或最小值,可以通过随机选取基准元素或者三数取中法来改进。 9) 快速排序算法只讨论平均情况下的时间复杂性是因为最坏情况下的时间复杂性较差,但出现的概率较小,而最好情况下的时间复杂性又较优,因此平均情况下的时间复杂性更能反映算法的性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值