c++中类的学习(二)
来源:互联网 发布:用单片机实现红绿灯 编辑:程序博客网 时间:2024/05/01 22:28
1. 对象数组的定义
使用构造函数初始化,比如:
Box box[2]={
Box(2,3,5);
Box(1,3,2);
}
2.对象指针
Box* b1;
Box b2;
b1=&b2; //定义
(*b1).height; 或者 b1->height; //两句等价
感觉定义指向成员函数的指针这部分很少用啊,但是有点难,还是记一下好了
格式为
数据类型名 (类名::*指针变量名)(参数列表);
初始化为
指针变量名=&类名::成员函数名
例子:
void (Time::*p2)();
p2=&Time::get_time();
常见的还有指向对象的常指针
Box* const p1; //表示指向Box类型的p1变量是一个const, 理解成p1是一个const变量,所以不能改变它的指向
常指针通常用来作为函数的形参,保证在函数运行过程中不改变指针变量的值,使其始终指向一个对象
还有个叫做指向常对象的指针
const Box *p1; //表示p1指向的Box变量是一个常变量,不能通过p1来改变它的值
如果一个变量被声明成常变量,只能用指向常变量的指针指向它
指向常变量的指针不止可以指向const变量,还可以指向非const变量,此时不能通过指针改变该变量的值,但是指针变量本身的值是可以改变的
函数形参是非const的,实参就是非const的,如果形参是const的指针,实参可以是const,也可以是非const
3. 拷贝构造函数(复制构造函数)
程序需要建立一个对象,并用另一个同类对象对它进行初始化
函数的参数为类的对象时,调用时为了建立实参的拷贝,需要调用拷贝构造函数按照实参复制给形参、
函数的返回值是类的对象
这三种情况下系统自动调用拷贝构造函数
4. 静态成员函数和静态成员变量
静态成员变量我记得在static的博客里面写了用法了
静态成员函数和非静态成员函数的根本区别是:非静态成员函数有this指针,静态成员函数没有this指针,所以静态成员函数不能访问非静态的数据成员
- c++中类的学习(二)
- 学习C++(二) 书的诱惑
- 学习C的一些笔记(二)
- C语言学习笔记 (二) C语言的语句
- 《C Primer Plus》学习笔记之 C数据的属性(二)存储类
- C++test 学习(二)
- object-c 学习(二)
- C基础学习(二)
- c#winform学习(二)
- C语言学习(二)
- c学习笔记(二)
- Objective-C学习笔记八:类的定义二
- C标准库的学习笔记(二)
- C语言栈的实现--学习组合设计(二)
- 我的C语言学习日志(二)
- 开启Objective-c的学习之旅(二)
- lua源码学习(二)lua的lapi.c实现
- C语言学习记录(二):符号的技巧
- Qt之图形(QPainterPath)
- couldn’t be completed. (LaunchServicesError error 0.)
- 汽车VIN码OCR识别
- UIAlertView的按钮颜色设置
- css3 placeholder中含有文字和字符,字符如何在input中垂直居中
- c++中类的学习(二)
- unity代码创建mesh
- 微信开发 JS接口安全域名修改
- 关于ORM框架的简单使用
- Android学习笔记七:sqlite3中的数据类型
- 自定义控件,自定义控件属性declare-styleable
- STM32 OLED显示流程(简略)
- Java Web JavaMail 邮件发送
- 一天的工作从填坑开始