C++基础(三)成员函数 友元函数
来源:互联网 发布:广发期货软件下载 编辑:程序博客网 时间:2024/06/06 17:08
break与continue
int i=0;
while (i<10) {
printf("i=%d\n",i);
i++;
if (i==5) {
continue;//换为break,i的值0~4输出
}
}// i的值0~9输出
break 跳到循环后
continue 结束循环,跳到循环前,继续执行
switch :switch会从满足条件的地方开始执行,直到遇到break;语句或执行完switch语句为止
静态全局变量
静态全局变量只能在他所声明的文件中使用,不能被其它文件引用(不能用extern)
函数传参的3种方式
(1)传值:形参是实参的一份拷贝,单向传递,形参的改变不会影响实参
(2)传指针:通过形参间接改变实参所指向变量的值
(3)传引用:形参就是实参,改变形参就是改变实参
不要返回一个指向局部变量的指针或引用(内存问题)
数组作为参数传递: void swap(int *a){//*a <=> a[]
指针函数
fpointer指向哪个函数,就调用那个函数,
int (*fpointer)(int ,int );//定义一个函数指针,返回型一致,参数类型一致(相对于所指向的函数)
fpointer=sum;//函数名就是函数地址
字符串
善于使用gets() , puts() 函数
char *str1="hello world”; // strlen(str1)=11;
类与对象
类是对象的抽象,对象是类的实例
类中如果不加特殊定义,那么默认为private
重载函数
关于重载函数,即C++中允许函数名重复,并且系统会根据参数的类型、个数来找到与之匹配的函数进行调用。(必须两者有至少一处不一样,否则将辨别不出来)
友元函数
友元函数不是成员函数,可以访问到私有数据成员,一个类如果作为另一个类的友元类,意味着这个类中的所有成员函数都是另一个类的友元函数。
构造函数
构造函数总是返回一个类的对象,所以它不需要,也不能有返回值
继承
子对象调用父类中的成员函数时:d1.Base::function();
虚函数
当父类对象想要调用子类中被覆盖了的函数时,使用虚函数很有必要。父类对象的指针、引用指向子类的对象,想要调用正确版本的函数时。
当父类指针或引用指向子类对象,而子类中又覆盖了父类的函数,希望用父类指针或父类引用,调用到正确版本的函数,需要把该成员函数声明为虚函数。
如果父类的成员函数是虚函数,那么子类中覆盖的函数不声明也是虚函数
返回值为对象的成员函数
// middle(p1,p).display(); //返回一个对象,必须是友元函数(需要在类外且能访问私有成员)
p.middle(p1).display(); //成员函数的话必须要对象先调用它,
p.<返回的对象>.display();
void setName(char _name[20]){
strcpy(name, _name);
}// change name value 本质是传指针
void Person:: setName(char *_name){
if (strlen(_name)>strlen(name)) {
delete []name;
name=new char [strlen(_name)+1];
}
strcpy(name, _name);
}// change name value (*) 私有变量若为指针的话的话需要开辟空间(本质是传双重指针
- C++基础(三)成员函数 友元函数
- 【C++】成员函数 and 友元函数
- 友元成员函数
- 项目三。两点距离(友元函数,成员函数,一般函数)
- 成员函数,友元函数,一般函数
- 友元函数,一般函数,成员函数
- 体验友元成员函数
- 7.31友元成员函数
- 友元类,友元成员函数,
- c++友元成员函数
- 基础备忘:友元——友元函数,友元成员,友元类
- 第七周(项目三)——成员函数,友元函数和一般函数的区别(例)。
- 第七周(项目三)——成员函数,友元函数和一般函数的区别。
- 第2.5节:静态成员和友元函数(C++)
- 由浅入深-友元成员/成员函数
- 第七周项目1——成员函数、友元函数、一般函数的区别(基础)
- 区分成员函数、非成员函数、友元函数
- 分清成员函数,非成员函数和友元函数
- 读书笔记:《MBA交不了你的创富课》(内附思维导图)
- angullarjs实现锚点楼层跳转
- 堂娜·哈拉维:赛博格宣言
- 1024! 末尾有多少个0?
- golang beego结合editable进行成果登记系统的在线修改
- C++基础(三)成员函数 友元函数
- cf 372 div2 E. Sonya and Problem Wihtout a Legend dp
- POJ-3295-Tautology
- poj3295 Tautology(构造法)
- [socket]socketpair测试程序
- 关于nodejs的npm命令无反应的解决方案
- 百度面试题之二叉树层次遍历(从上到下,从下到上)
- 【Qzone】缘何似个愁 第二步 编译Android源代码
- Git_Git基础命令_第8课_重写历史记录