【每日一练】---- 2.28oj总结(类知识点较多)

  1. 内联函数
    在C++编程中,我们常常定义一个函数去实现某种功能,比如:
int min(int x , int y){
   return x<y?x:y;
}

调用函数前都要做很多工作:调用前要先保存寄存器,并在返回时恢复,复制实参,程序还必须转向一个新位置执行。
C++支持内联函数,其目的是为了提高函数的执行效率,用关键字 inline 放在函数定义(注意是定义而非声明)的前面即可将函数指定为内联函数,内联函数通常就是将它在程序中的每个调用点上“内联地”展开。
如下代码:

inline int min(int x , int y){
   return x<y?x:y;
}
cout<<min(x,y)<<endl;

//定义成内联函数后调用时自动展开为
cout<<(x<y?x:y)<<endl;


注意:一般只有当函数只有 10 行甚至更少时才将其定义为内联函数.

  1. 类成员的缺省访问权限
class A {
		int _a;
	};
	A a;
	a._a = 5

代码会出现如下报错,当没有给定成员变量的访问权限,默认是私有的,在类外面无法访问。
在这里插入图片描述

  1. 构造函数特点

1.无返回值
2.与类名同名

如果类中没有显式定义构造函数,则C++编译器会自动生成一个无参的默认构造函数,一旦用户显式定义编译器将不再生成
无参的构造函数和全缺省的构造函数都称为默认构造函数,并且默认构造函数只能有一个。注意:无参构造函数、全缺省构造函数、我们没写编译器默认生成的构造函数,都可以认为是默认成员函数

class Student {
	public:
		Student() {

		}
		Student(int num = 10, string name = "w") {
			_num = num;
			_name = name;
		}
	private:
		int _num;
		string _name;
	};
	Student s;

像如上代码同时存在全缺省的构造函数和不带参的构造函数就会出错,因为它们都是默认构造函数,而只允许一个默认构造函数
在这里插入图片描述

  1. 必须用初始化列表初始化的成员变量
  1. 成员变量是对象(继承)
  2. const修饰的变量
  3. 引用类型的变量
class A {

private:

	int a;
public:
	const int b;
	float*& c;
	static int d;
	static int e;
	A() {

	}
};
int main() {
	A aa;
}

此时代码会发生报错
在这里插入图片描述
要求我们必须初始化b和c

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值