缺省函数

所谓的缺省函数,就是已经定义了初始变量的函数。

以下代码对于类A中的方法set() 和 普通函数 func() 均有默认值!!

#include <iostream>
using namespace std;

class A
{
public:
	A(){cout<<"执行构造函数创建一个对象\n";}
	~A(){cout<<"执行构析构函数\n";}
	void set(int width= 10,int height =6);
private:
	int w;
	int h;
};
void A::set(int width, int height)
{
	w=width;
	h=height;
	cout<<"h="<<h<<endl<<"w="<<w<<endl;
	cout<<"S=h*w="<<h*w<<endl;
}

void func(int a=5, int b=4)
{
	cout<<"a="<<a<<endl<<"b="<<b<<endl;
}

int main()
{
	A a;
	a.set();
	func();
	return 0;
}
/*****************************************************
执行构造函数创建一个对象
h=6
w=10
S=h*w=60
a=5
b=4
执行构析构函数
******************************************************/

  

时间: 2024-10-10 08:40:36

缺省函数的相关文章

【C++缺省函数】 空类默认产生的6个类成员函数

1.缺省构造函数. 2.缺省拷贝构造函数. 3. 缺省析构函数. 4.缺省赋值运算符. 5.缺省取址运算符. 6. 缺省取址运算符 const. <span style="font-size:18px;"> class A { public: A(){}//缺省构造函数 A(const A&){}//拷贝构造函数 ~A(){}//析构函数 A&operator=(const A&){}//赋值运算符 A*operator&(){}//取址运算

C++ (带有默认参数的函数参数)缺省函数参数

缺省参数?在C++中,允许实参的个数与形参的个数不同.在声明函数原型时,为一个或者多个形参指定默认值,以后调用这个函数时,若省略某一个实参,c++则自动的以默认值作为相应参数的值. 实列说明:#include<iostream>using namespace std; int add(int x=4,int y=7){ return x+y;}int main(){ cout<<add(3,6)<<endl; cout<<add(3)<<endl

C++ 函数的缺省参数

一.普通函数的缺省参数 # include<iostream> using namespace std; void func(int m=0,int n=1) //m=0,叫做函数的默认参数,也叫做缺省参数.缺省参数可以有一个,也可以有多个. { cout<<"m:"<<m<<"\t"<<"n:"<<n<<endl; } int main() { func();

继承中虚函数的缺省参数值问题

如果类继承中重新定义了虚函数,那么虚函数中的缺省参数不要重新定义. 用一句话来解释原因就是:虚函数是动态绑定的(dynamically bound),但是缺省参数却是静态绑定的(statically bound). 静态类型和动态类型 首先需要了解什么是对象的静态类型和动态类型,对象的所谓静态类型(static type),就是它在程序中被声明时所采用的类型. 以下面的类为例: class Shape { public: enum ShapeColor{Red,Green,Blue}; virt

第一周 从C走进C++ 008 函数缺省参数

1. 函数的缺省参数? C++中,定义函数的时候可以让最右边的连续若干个参数有缺省值,那么调用函数的时候,若相应位置不写参数,参数就是缺省值. void func( int x1, int x2 = 2, int x3 = 3) { } func(10 ) ; //等效于func(10,2,3) func(10,8) ; //等效于func(10,8,3) func(10, , 8) ; //不行,只能最右边的连续若干个参数缺省 ? 函数参数可缺省的目的在于提高程序的可扩充性.? 即如果某个写好

函数(手写)

函数 c#是通过静态函数来实现模块化程序设计的.1.1函数的定义: 任何函数都是由函数说明和函数体两部分组成. 根据函数是否需要参数,可将函数分为:无参函数和有参函数.1.无参函数的一般形式: 函数类型 函数名(函数参数) { 说明语句部分: 可执行语句部分: }2.有参函数的一般形式 : 函数类型 函数名(数据类型 参数[,数据类型 参数2……]) { 说明语句部分: 可执行语句部分: } 有参函数比无参函数多了一个参数表.调用有参函数时,调用函数将赋予这些参数实际的值. 为了与调用函数提供的

Python 函数之路

---恢复内容开始--- python函数的定义 1 def add(): 2 a = 1 3 b = 2 4 c == a + b 5 print(c) 6 函数就是把一段实现某一个功能的代放进一个封装的方法名里,这个方法就叫做函数名 函数的参数 def plus(a,b): c = a + b print(c) plus(100,20) 在这段代码里: a,b是形参 100,20是实参 所谓实参,就是是实在在的传递的参数,形参就是用来接收的参数 下面说返回值:return 1 def plu

Python标准库:内置函数filter(function, iterable)

本函数用来从一个迭代对象iterable遍历所有元素,当每个元素作为参数给函数function对象运行之后,判断为True的元素保留下来,而为False的元素则跳过,即是达到过滤不需要元素的目标.参数iterable是可迭代的对象,比如列表.字典.字符串,或者带迭代器的函数对象.参数function是一个能输入元素进判断并返回值的函数,如果这个参数为空,默认使用标识函数identity为缺省函数. 当function非空时,相当于生成表达式: item for item in iterable 

赋值函数与拷贝构造的差异

C++ 拷贝构造函数 赋值构造函数 ================================= 一句话,赋值函数的前提是对象已定义:而拷贝构造是执行时才会创建一个对象.拷贝构造需要的是深拷贝. 赋值函数一般模式: type& operator =(const type& par) { // (1) 检查自赋值 if( this == &par ) return *this; // (2) 释放原有的内存资源 //(3)分配新的内存资源,并复制内容 ,2.3顺序没讲究,注意释