基于C学C++(二)

1.函数默认参数
和C不一样的是,在设置函数是的参数是可以被赋值的,且须满足至少是最后一个变量被赋值,如果传入参数时,该参数有被赋新值,则覆盖该值,若没有,则用定义函数的值
tips:当函数声明与实现分离时,声明有默认参数,则实现不添加默认参数(只能存在一个有默认参数)

void func(int a,int b,int c=10)
{
}

2.占位参数
占据一个位置,在函数调用时需要等量的参数传入

void func(int a,int)

3.函数重(chong)载
两函数具有相同函数名,但参数不同
tips:1.两函数作用域要相同 2.两函数函数名相同 3.函数参数类型不同,或个数不同,或顺序不同 4.返回值类型不同不可以作为函数重载的条件

void func(int a)
void func(int a,int b)

4.类和对象

#include<iostream>
using namespace std;
class Circle
{
public:
	int r;
	double calculate()
	{
		return 2 * 3.14 * r;
	}

};

int main()
{
	Circle c1;
	c1.r = 5;
	cout << "the answer is" << c1.calculate() << endl;
	system("pause");
}

5.访问权限
a.公共权限 类内外都可以访问
b.保护权限 类内可以,外不行 子类可访问父类内容
c.私有权限 同上,子类不可访问父类内容
tips:默认为保护权限;通过加入读写函数实现权限控制
6.bool类型,要么是True要么是False

#include<iostream>
using namespace std;
int main()
{
	bool result = true;
	cout << "result= " << (int)result << endl;
	cout << "!result= " << !result << endl;
	system("pause");
	return 0;
}
result= 1
!result= 0
请按任意键继续. . .

7.头文件
需要#pragma once在h文件初
在函数实现时需要用::告知来自于哪个类
自定义文件需要用“”来引用

#include<iostream>
#include"circle.h"
using namespace std;


int main()
{
	Circle c1;
	c1.r = 5;
	cout << "the answer is" << c1.calculate() << endl;
	system("pause");
}
#pragma once
#include<iostream>
using namespace std;
class Circle
{
public:
	int r;
	double calculate();

};
#include "circle.h"
using namespace std;
double Circle:: calculate()
{
	return 2 * 3.14 * r;
}



8.构造函数

类名(){}
#include<iostream>
#include"circle.h"
using namespace std;


int main()
{
	Circle c1;
	c1.r = 5;
	cout << "the answer is" << c1.calculate() << endl;
	system("pause");
}
#pragma once
#include<iostream>
using namespace std;
class Circle
{
public:
	Circle(void);
	int r;
	double calculate();

};
#include "circle.h"
using namespace std;
double Circle:: calculate()
{
	return 2 * 3.14 * r;
}
Circle::Circle(void)
{
	cout << "构造函数调用" << endl;
}


构造函数调用
the answer is31.4
请按任意键继续. . .

用于创建对象时为对象的成员属性赋值(对象是类的实例)
tips:构造函数没有返回值,也不写void;函数名称与类名相同;构造函数可以有参数,因此可以发生重载;程序在调用对象时会自动调用构造,无需手动调用,而且只会调用一次
9.析构函数

~类名(){}

用于对象销毁前系统自动调用,执行一些清理工作
tips:没有返回值,也不写void;函数名称与类名相同,名称前加上~;析构函数不可以有参数,不可以重载;程序在对象销毁前自动调用且只会调用一次

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kejane

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值