初识c++的类
来源:互联网 发布:淘宝运费险什么意思 编辑:程序博客网 时间:2024/05/16 19:39
前言
c++所做的最重要的改进就是提供了类。类就体现了c++面向对象编程(OOP)的特性,类是一种将抽象转换为用户定义类型的c++工具,它将数据表示和操纵数据的方法组合成一个整洁的包。
类的组成部分
类中的访问权限的总结
如何定义和声明一个类
#include<iostream>using namespace std;class Tdate //下面是对一个类的声明,声明就只是成员函数没有具体的实现{public: void Set(int, int, int); //声明一个类成员函数,它的属性为public void print();private: int y; //定义了三个私有的成员变量y,m,d; int m; int d;}; //一个类的结尾必须要有:“;”/*下面是对类的对类成员函数进行实现*/void Tdate::Set(int y, int m, int d){ /* 后面也将介绍一下this指针的使用和原理,这里就先用了,不用也可以直接如下替换: Tdate::y=y; Tdate::m=m; Tdate::d=d; 至于“::”这个操作符也马上就会给大家介绍它的的作用。它是可以在类外部访问类私有成员的一种方式 */ this->y = y; this->m = m; this->d = d;}void Tdate::print(){ /* 这里是因为你在要实现这个函数,是要进入类的内部的,使用了“Tdate::“,所以这里可以直接访问类的私有成员 Set函数不可以直接用y,m,d的原因是因为一个区域内出现了两个相同名字的变量,程序无法分辨,只有人为的去操作 */ cout << "Year=" << y << endl; cout << "Month=" << m << endl; cout << "Day=" << d << endl;}int main(){ Tdate date; date.Set(2016, 9, 7); date.print(); system("pause"); return 0;}
“::”作用域区分符
“::”叫做作用域区分符,指明一个类属于哪个类或一个数据属于哪个类,因为它已经为我们指明我们需要访问的类,所以可以直接在其内部访问类的私有成员,“::”可以不跟类名,表示全局数据或全局函数。
this指针的用法
请参考我的下一篇博客(c++之指针详解)
一般类的定义和其成员函数的定义是分开的,我们把类的定义放在一个头文件中,类的实现放在cpp文件中,下面我给个例子。
/*Tdate.h文件*/class Tdate {public: void Set(int, int, int); void print();private: int y; int m; int d;};
/*Tdate.cpp*/#include <iostream>using namespace std;#include "Tdate.h"void Tdate::Set(int y, int m, int d){ this->y = y; this->m = m; this->d = d;}void Tdate::print(){ cout << "Year=" << y << endl; cout << "Month=" << m << endl; cout << "Day=" << d << endl;}
/*main1.cpp*/#include <iostream>using namespace std;#include "Tdate.h"int main(){ Tdate date; date.Set(2016, 9, 7); date.print(); system("pause"); return 0;}
上述格式就是进行大型项目开发应该使用的格式。
1 0
- 初识-c++-类&对象
- C++::初识类(小白的进阶基石)
- 初识object-c中的类
- 初识c#---类和对象
- 初识C#
- 【C#】初识
- 初识 C#
- 【C#】初识
- C语言之结构体的初识
- 揭开你的面纱----C#.net初识
- 初识ACM——C的love
- C++初识--C的升级(1)
- C++初识--C的升级(2)
- 初识C语言--一个新的“挚友”
- 初识C语言的链表
- 初识Linux下的C语言
- 类的初识
- 对类的初识
- 字符串反转 转换大小写的三种方法
- wireshark抓到tcp包大于mss的包
- 重装电脑遇到的问题(三)
- C#控制台基础 使用file类永久性删除一个文件
- C++类详解
- 初识c++的类
- xml解析
- Install Adobe Flash plugin in Ubuntu 14.04
- C++的深拷贝与浅拷贝
- 站岗问题
- OC-debug调试&界面切换&多界面正反向传值
- 有关剃度下降和随机剃度下降的思考
- Android官方培训课程学习(三): 使用Fragment建立动态UI
- BNUOJ 51280 组队活动