函数的默认参数
int fun(int a,int b=10,int c=20)
{
return a+b+c;
}
int main()
{
cout<<fun(10)<<endl;//当参数有值时也可以输出正确,如果程序员加了返回值就用程序员加入的值。
}
形参的数据从左到右当中间有参数后面也需要定义一个
函数和声明只能实现一个;
占位参数
void fun(int *a,int )
{
fun(10,20)//这里需要加入参数,因为有占位符
}
函数重载
在同一个作用域下。例如:都在全局函数下
函数的名称相同
函数的参数类型不同,或者个数不同,或者个数不同,顺序不同
void fun1(int&a)
void fun2(const int&a)
int main()
{
int a=10;
fun1(a);//函数会输出fun1,因为a是变量可读可写而fun2加入const只读状态
//fun2(10);这个可以调用fun2,而不调用fun1.
}
类和对象
封装
封装的意义
将属性和行为作为一个整体,体现生活中的事物
将属性和行为加以权限控制
class和struct的区别
class默认权限是共有public
struct默认权限是私有private
成员函数的私有化
优点:可以自己控制读写权限
可以有效的检测数据的有效性
获取类内的private中的值
可读可写
class person
{
public:
void set(int age)//set的函数进行只写的状态
int m_age=age;
int get()//get的函数进行只读的状态
return m_age;
private:
string m_name;
int m_age;
};
int main()
person p;
p.set(20);
cout<<p.get()<<endl;
可读
class person
{
public:
int get()//get的函数进行只读的状态
{
m_age=0;//进行初始化
return m_age;
}
private:
string m_name;
int m_age;
};
int main()
person p;
//p.set(20);
cout<<p.get()<<endl;
可写
class person
{
public:
void set(int age)//set的函数进行只写的状态
int m_age=age;
private:
string m_name;
int m_age;
};
int main()
person p;
p.set(20);
//cout<<p.get()<<endl;输出的就是可以看到的为可读。
当使用全局函数判断两个立方体是否相等时传入两个值,
bool issanme(cube&c1,cube&c2);
成员函数判断两个立方体是否相等时传入一个值
bool isSanm(Cube & c);
份文件编写类
.h头文件只要声明不需要实现
#progma one
#include<iostream>
using namespace std;
class person
{
public:
void set(int age);
{
m_age=age;
}
private:
int m_age;
}
.cpp文件只需要实现,但要加入类的作用域
#include".h的文件名"
void person::set(int age)//在person类作用域下
{
m_age=age;
}
————————————————
版权声明:本文为CSDN博主「BoyBoy!」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Yyds12300/article/details/130035998