C++学习笔记六——指向函数的指针以及构造函数

首先要说明的类成员之一——构造函数,构造函数的作用是初始化类成员。,构造函数时特殊的成员函数,与其他的成员函数不同,构造函数和类同名,而且没有返回类型,与其他成员函数相同的是,构造函数也有形参表(可能为空)和函数体。一个类可以有多个构造函数,每个构造函数必须由于其他构造函数不同数目或类型的形参。下面举一个例子说明:

//首先定义一个类
struct hanrui
{
public//可以不写,因为struct默认为public
int test;//定义一个test
string name;

}

我们看到我们 名为hanrui 的类中包含有test 和 name 两个数据,那么如果要对其进行初始化,则可以

struct hanrui
{
public//可以不写,因为struct默认为public
int test;//定义一个test
string name;
hanrui()
{
test=1;
name=“hanrui”;
}
}

最后输出观察结果
在这里插入图片描述
因此,构造函数可以简单的理解为初始化类成员。
第二个知识点是函数的指针,指针可以理解为存放数据的地址,如果将一个数据比作房客,那么指针就是房间的门牌号,通过这个门牌号可以访问住的客人,也就是指针=地址。对于一般的数据类型,也就是对于普通人的房客,我们采用一般的服务,也就是只 说明需要说明指针的类型,指针的名称,一些基本的定义即可。
以下是指针的定义

vector<int> *pvec; //pvec 能够指向vector<int>
int *p1 //p1能够指向整数
double *dp //dp能够指向double类型数据

以前的文章有提到迭代器的概念,那么指针其实就是数组的迭代器;
以上是针对一般顾客的情况,那么可以将函数理解为VIP顾客,对于VIP来说,除了要有享有一般顾客的权力外,还要享受特权。因此VIP房客的房间号会有所不同,所以除了基本的类型名称外,还要有括号等,以下是一个函数指针的定义

int*hanrui)(int a,double b)
//以上定义一个名字为hanrui的函数指针,该指针类型为“指向返回int 类型并带有int ,double形参的函数指针”

一定要注意括号的位置,千万不要写错

通常为了方便,可以使用关键字 typedef,因此以上定义可以这样写

typedef int (*hanrui)(int a, double b);
//之后在定义可以 hanrui a;就定义了该类型的指针,不必每次都把整个类型声明全部写出来

以下为应用函数指针的例子

void test(int a)
{
	cout << "this is a pointer test" <<a<< endl;
}
int main()
{
	int a = 1;
	void(*z)(int a);
	z = test;
	z(1);

}

输出结果
在这里插入图片描述
以上为两个简单的知识点

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值