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

Posted 赏一杯茶:

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一练---- 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

以上是关于每日一练---- 2.28oj总结(类知识点较多)的主要内容,如果未能解决你的问题,请参考以下文章

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

每日一练---- 3.02 3.03 3.04oj总结(类知识点)

每日一练---- 3.02 3.03 3.04oj总结(类知识点)

每日一练---- 3.02 3.03 3.04oj总结(类知识点)

每日一练---- 3.01oj总结(拷贝构造函数与友元函数)

每日一练---- 3.01oj总结(拷贝构造函数与友元函数)