怎样做吓人网站,江苏常州网,怎么做网站扫描,wordpress显示数据库请求感谢大佬的光临各位#xff0c;希望和大家一起进步#xff0c;望得到你的三连#xff0c;互三支持#xff0c;一起进步 个人主页#xff1a;LaNzikinh-CSDN博客 文章目录 前言一.引用二.内联函数三.类和对象总结 前言
之前讲c的命令空间和第一个程序的运行#xff0c;继… 感谢大佬的光临各位希望和大家一起进步望得到你的三连互三支持一起进步 个人主页LaNzikinh-CSDN博客 文章目录 前言一.引用二.内联函数三.类和对象总结 前言
之前讲c的命令空间和第一个程序的运行继续讲解一下c的语法然后开始进入类和对象的学习 一.引用 引用变量是c区别与c语言的语法引用变量是一个别名也就是说它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量就可以使用该引用名称或变量名称来指向变量。 引用可以看作一个已定义变量的别名
引用变量的创建 Typenamevar; int main()
{int a 10;int b a;cout b endl;return 0;
}
意思就是说初始化了一个A的变量在创建一个引用变量B然后把A赋给B那我现在操控B就是在操控A
但是引用在使用的时候还远一些注意的事项 注意 1.不是取地址而是起标识作用 2.必须在声明引用变量时进行初始化 3.引用初始化之后不能再引用其他的变量了 4.不能有NULL引用 引用变量的本质 有人会说引用到底是什么东西为什么可以这样赋值引用到底有什么用 引用的本质是一个常量指针引用所占用空间大小与指针相同
int main()
{int b 0;int a b;//int *const ab;a 20;//*a20;return 0;
}
引用作为函数的参数不需要进行初始化 引用的作用比较经典的就是可以作为函数的参数 typedef struct Teacher
{int age;
}Te;
void Print(Te t)
{t.age32;
}
int main()
{Te t;t.age 30;Print(t);coutt.ageendl;return 0;
}
这是一个很经典的代码你们先思考一下之后打印出来的纸是30还是32这个也完全验证了应用的本质到底是什么 我用的是.直接访问了这个函数的值为什么会改变出了这个函数不是应该会被销毁吗 上面的代码把他转化一下引用的本质是一个常量指针 typedef struct Teacher
{int age;
}Te;
void Print(Te*const t)
{t-age 32;
}
int main()
{Te t;t.age 30;Print(t);cout t.age endl;return 0;
}
二.内联函数
定义 内联函数本身也是一个真正的函数唯一不同之处在于会在适当的地方向预处理宏一样展开所以不需要函数调用开销。 创建
内联函数在普通函数之前加上inline关键字
inline int fun(int a)
{return a;
}
作用 以前我们写过一个宏函数的对比如果进行一些简单的函数实现的话就不用纠结使用宏还是函数的直接用内联函数就可以了 注意 1.内联函数的声明和定义要在一起 2.注意事项以下情况不会将函数进行内联编译 3.存在任何循环语句 4.存在过多的条件判断语句 5.对函数取地址内联函数没有函数的调用开销取地址必然错误 6.函数体过于庞大 默认参数 在c的语法中是有一个默认参数的功能就是说你函数传递参数的时候可以只传一个或者少传几个但是前提是你得把默认的参数写好顺序不可出错不然还是不行 //默认参数
float func(int r, float pi 3.14)
{return pi * r * r;
}
int main()
{float rfunc(10);//可以只传一个数cout r endl;
} 如果是这样就不可以
float func(int r3, float pi )
{return pi * r * r;
}
int main()
{float rfunc(10);//可以只传一个数cout r endl;
}
函数重载 函数重载1.用同一个函数名定义的不同函数2.当函数名和不同参数的搭配。 条件同一个作用与参数个数不同参数类型不同参数的顺序不同 #includeiostream
using namespace std;
void func()
{cout func() endl;}
void func(int a)
{cout a endl;
}
void func(int a,double b)
{cout ab endl;
}
void func(double a,int b)
{cout ab endl;
}
int main()
{func();func(1);func(1, 1.2);func(1.2, 1);return 0;
}三.类和对象 C和C他们两个语言得很重要的区别就是一个是面对过程的编程一个是面对对象的编程所以我们这次才简单地了解一下对象和类 类的定义与访问
class nameA
{
public://访问控制符 private pretected//成员变量//属性//成员函数//方法
};例子创建一个动物类
class animal
{
public:char name[32];int age;void jiao(const char* voice){//内部namecoutname voiceendl;}
};
对象的实例化 有3种 实例化普通对象用数组实例化多个对象定义一个指针对象 //对象的实例化 animal cat; animal cat[10]; animal* cat; 类成员的访问控制 private----私有只能在类的内部访问要修改需要通过内部来改public------公有在类的内外部都可访问protected------保护只能在类的内部访问 内部外部是什么
class animal
{
public:char name[32];int age;void jiao(const char* voice){//内部namecoutname voiceendl;}
};
int main()
{//对象的实例化animal cat;cat.age 1;//外部cat.jiao(xia);return 0;
}
例题 如果要改变被private里面的对象改怎么办 思路要修改需要通过内部来改 class animal
{
public:char name[32];void set_age(int age){_age age;}int get_age(){return _age;}
private:int _age;
};
int main()
{ animal cat;cat.set_age(1);//外部int a cat.get_age();cout a endl;return 0;
} 总结
这次我们讲解了C的语法引用内联函数类和对象等下次就要正式进入C的类和对象了这次大改的了解了一下下次就要真正的感受到面对对象编程的魅力了