欲写好一个类,必先将其解剖(类和对象)
来源:互联网 发布:大数据需要学什么语言 编辑:程序博客网 时间:2024/06/11 04:08
Preface
C语言最重要的特点是面向过程,而面向过程的核心是用函数实现的。
C++最重要的特点是面向对象,而面向对象的核心使用类实现的,而类中又包括了数据成员和成员函数。
像我这种C++入门级的小白,看了无数的类,听了无数的课,但真正自己写类的时候,还是叫天天不灵,叫地地不应啊~~~所以五一小长假后的第一天,鼓起勇气再听一遍网课,将类解剖一下,然后再试着重建,加油!
1.类和对象
类的组成:
类名
数据成员
成员函数
访问限定符:
public
private
protected
对象实例化的两种方式:
从栈中实例化
从堆中实例化
从栈中实例化对象
class TV{public: char name[20]; int type; void changeVol(); void power();};int main(void){ TV tv; TV tv[20];//定义对象的数组 return 0;}
从堆中实例化对象
int main(void){ TV *p = new TV(); TV *q = new TV[20]; delete p;//务必清空内存 delete []q; return 0;}
对象成员的访问
访问单一对象
从栈中访问
int main(void){ TV tv; tv.type = 0; tv.changeVol(); return 0;}
从堆中访问
int main(void){ TV *p = new TV(); p->type = 0; p->changeVol(); delete p; p = NULL; return 0;}
访问数组对象:使用for循环
int main(void){ TV *p = new TV[5]; for(int i=0; i<5; i++){ p[i]->type = 0; p[i]->changeVol(); } delete []p; p = NULL; return 0;}
一个小例子
#include<iostream>#include<stdlib.h>using namespace std;class Coordinate{//从类名中看出来类的功能public: int x; int y; void printX{ cout<<x<<endl; } void printY{ cout<<y<<endl; }int main(){ Coordinate coor;//从栈中实例化 coor.x = 10; coor.y = 20; coor.printX(); coor.printY(); Coordinate *p = new Coordinate();//从堆中实例化 if(NULL == p){ //申请内存失败 return 0; } p->x = 100; p->y = 200; p->printX(); p->printY(); delete p; p = NULL; system("pause"); return 0;}
0 0
- 欲写好一个类,必先将其解剖(类和对象)
- 欲写好一个类,必先将其解剖(类外定义)
- 欲写好一个类,必先将其解剖(数据的封装)
- 定义一个类让其只能实例化一个对象
- VC++6.0中定义一个类的对象后,用“.”访问其成员函数和成员变量时,其成员函数和成员变量没有自动弹出
- 确定一个对象是否是某个类或其派生类的对象的方法
- Collections类 解剖
- Android反射出一个类中的其他类对象并调用其对应方法
- Android反射出一个类中的其他类对象并调用其对应方法
- 通过使用URL类,构造一个输入对象,并读取其内容。
- 一个类的static变量在其所有实例化对象上是共享的
- Swift:如何判断一个对象是否是某个类(或其子类)的实例
- 定义一个图形类及其子类(三角形类和矩形类),分别计算其面积和周长。
- /定义一个图形类及其子类(三角形类和矩形类),分别计算其面积和周长。
- 定义一个图形类及其子类(三角形类和矩形类),分别计算其面积和周长
- 定义一个图形类及其子类(三角形类和矩形类),分别计算其面积和周长。
- 定义一个图形类及其子类(三角形类和矩形类),分别计算其面积和周长。
- 定义一个图形类及其子类(三角形类和矩形类),分别计算其面积和周长
- ARM920T及其MMU,Cache学习杂记(一)
- 手机发送验证码验证Verification.rb表详解
- 二叉树之中序遍历的递归和迭代实现
- 8.PHP中原码反码介绍及位运算符应用
- POJ 3450 Corporate Identity(后缀数组+二分)
- 欲写好一个类,必先将其解剖(类和对象)
- PHP基础递归创建文件或删除文件目录
- ARM920T及其MMU,Cache学习杂记(二)
- Android:方向传感器
- Drawable资源——LayerDrawable 图层列表
- ZOJ 3876 May Day Holiday
- JavaScript 模块插件程序之返回顶部插件
- log4j.xml与log4j.dtd的配置详细说明与使用
- [leetcode] 307. Range Sum Query - Mutable 解题报告