【c++】类&对象详解
2017-11-08 20:17
232 查看
C++在C语言的基础上增加了面向对象编程
类是C++的核心特性
例如
解释一波上面的public以及private还有protected
public :表示公有成员变量,表示该变量或者方法可以在类外访问
private:表示私有成员变量,在类中如果不指定是哪种类型,默认为private类型,私有成员变量表示只能在该类中进行访问
protected:保护型变量跟private变量很相似,但是有一点不同的是,保护型变量可以在派生类中进行访问,即继承这个类的子类中也可以访问
运行结果:
那么如果是private或者protected变量如何在类外进行访问或者操作呢?
请看下面
当然还有其他的方法,比如构造函数等,这些我们以后再说。
类是C++的核心特性
类的定义
类用于指定对象的形式,包含了数据的类型和处理数据的方法。类中的数据和方法称为类的成员。定义一个类,本质就是在这个类中定义数据类型,和相应处理该数据的方法。形式为:class 类名 { ...//数据和方法 }
例如
class Box { public: int length; //长 int width; //宽 int height; //高 public: void Volume() //计算体积 { std::cout<<"volume:"<<length*width*height<<endl; } }
解释一波上面的public以及private还有protected
public :表示公有成员变量,表示该变量或者方法可以在类外访问
private:表示私有成员变量,在类中如果不指定是哪种类型,默认为private类型,私有成员变量表示只能在该类中进行访问
protected:保护型变量跟private变量很相似,但是有一点不同的是,保护型变量可以在派生类中进行访问,即继承这个类的子类中也可以访问
对象
声明类的对象就跟声明普通的变量一样Box box; //声明一个Box类的对象
例子:
#include<iostream> using namespace std; class Box { public: int length; //长 int width; //宽 int height; //高 void Volume() { cout << "Volume:" << length*width*height << endl; } }; int main() { Box box;//声明一个对象 box.length = 2;//因为是public变量所以可以直接在类外面访问 box.width = 2; box.height = 2; box.Volume(); return 0; }
运行结果:
Volume: 8
那么如果是private或者protected变量如何在类外进行访问或者操作呢?
请看下面
#include <iostream> using namespace std; class Box { private: int length; int width; int height; public: void setlength(int x) //写一个public方法用来传参数赋值给类中的成员变量以length为例 { length = x; } int getlength() //写一个public方法用来获取类中的 成员变量 { return length; } }; int main() { Box box; box.setlength(2); int length = box.getlength(); cout << length << endl; return 0; }
输出结果为:2
当然还有其他的方法,比如构造函数等,这些我们以后再说。
相关文章推荐
- C & C++的编译过程详解
- 详解C++中指针(*)、取地址(&)、解引用(*)与引用(&)的区别 (完整代码)
- 详解C++中指针(*)、取地址(&)、解引用(*)与引用(&)的区别 (完整代码)
- OOP编程比较学习__C++ & JAVA (一)定义类和创建对象
- 详解C++中的对象指针与对象数组
- Java中的hashcode()与equals()的用法详解&&Java中的对象比较(==)与值比较equals()的用法
- 详解C++中的this指针与常对象
- C/C++对bool operator < (const p &a)const的认识,运算符重载详解(杂谈)
- 详解让C++新手闹心的语句“cout<<"Hello!"<<endl;”
- 详解C++中令人头痛的&和*操作符
- C&C++中Static详解
- C++ &引用对象
- 探索C++的秘密之详解extern "C"
- 探索C++的秘密之详解extern "C"
- 面向对象程序设计-C++ Inheritance & Multiple inheritance & RTTI【第十三次上课笔记】
- C & C++的编译过程详解
- 用C实现C++的多态---剖析GTK的"对象" (一)
- C++ 类 & 对象
- 图说C++对象模型:对象内存布局详解
- C++-类对象成员&&对象数组