C++类的使用
来源:互联网 发布:Windows切换目录 编辑:程序博客网 时间:2024/06/05 02:01
(一)类的封装
1)封装(Encapsulation)
A)封装,是面向对象程序设计最基本的特性。把数据(属性)和函数(操作)合成一个整体,这在计算机世界中是用类与对象实现的。
B)封装,把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
C++中类的封装
成员变量,C++中用于表示类属性的变量
成员函数,C++中用于表示类行为的函数
2)类成员的访问控制
在C++中可以给成员变量和成员函数定义访问级别
public修饰成员变量和成员函数可以在类的内部和类的外部被访问
private修饰成员变量和成员函数只能在类的内部被访问
protected:修饰的成员变量和函数 只能在类的内部被访问,不能在类的外部访问 用在继承里面
实例验证:
class MyAdvCircle{ doulbe m_test;//没有权限修饰的成员变量 函数 是默认是私有属性private://private:修饰成员变量和函数 只能在类的内部被访问 ,不能在类的外部访问 double m_r; //属性 成员变量 double m_s;public://public :修饰成员变量和函数 可以在类的内部和类的外部访问 double getR() { return m_r; } void setR(double r) { m_r = r; } double getS() { m_s = 3.14*m_r*m_r; return m_s; }};void main42(){ MyAdvCircle c1, c2; //c1.m_r = 10;//无法访问 c1.setR(10); //只能通过公共部分访问内部变量 system("pause");}
3)struct和class关键字区别
在用struct定义类时,所有成员的默认属性为public
在用class定义类时,所有成员的默认属性为private
(二)实战开发中类的使用:
在实战开发中习惯将类的声明放在头文件中,类的实现放在cpp文件中,例:
头文件 MyTeacher.h:
# pragma once //只包含一次//类的声明class MyTeacher{private: int m_age; char name[32];public: void setAge(int age); int getAge();};
cpp文件 MyTeacher.cpp :
#include "MyTeacher.h"void MyTeacher::setAge(int age){ m_age = age;}int MyTeacher::getAge(){ return m_age;}
主函数调用类:
#include <iostream>#include "MyTeacher.h"using namespace std;void main(){ MyTeacher t1; t1.setAge(36); cout << t1.getAge() << endl; system("pause");}
注释:
1, # pragma once //只包含一次
这句话的作用与
#ifndef ……
#define ……
……
#endif
作用相同,防止重复包含
2,注意在类的实现中,函数调用的格式(MyTeacher::getAge())
0 0
- 【C++】类的使用
- Objective-C类的使用
- C++Builder中使用Excel的类
- C++Builder中TIniFile类的使用
- delphi 开发使用的基类C
- objective-c 中对于类的使用
- objective-c字符串类NSString的使用
- [C#]上机实验:类的使用
- C#-StringBuilder类的使用---ShinePans
- C#-sealed 封装类的使用
- C# SQLDMO类的使用
- C++_类模板的使用
- Objective-c 创建类的使用
- C++List模板类的使用
- C++STL之string类的使用
- C#abstract抽象类的使用
- C++代理类的使用
- Pro*C的使用
- 运行级别
- MySQL的一些基本操作总结了一部分(通过自己创建的一个表)
- 欢迎使用CSDN-markdown编辑器
- Linux命令详解(1):ls
- OC中常用的数组排序有以下几种方法
- C++类的使用
- 在eclipse中JAVA从打包成jar程序到双击运行的整个过程(没有主清单属性问题的解决)
- Eclipse搭建Android开发环境-Android SDK和ADT离线安装
- 九度oj 1129
- 解析json数据
- poj 2485 最小生成树中的最大边 prim
- Python爬虫学习记录(1)——百度贴吧图片下载
- BC-52-1001
- android-使用webview来开发混合应用