阿狸先森|一文让你学完C++,干货收藏( 六 )

C++ 中创建引用试想变量名称是变量附属在内存位置中的标签 , 可以把引用当成是变量附属在内存位置中的第二个标签 。 因此 , 可以通过原始变量名称或引用来访问变量的内容 。 例如:
int i = 17;我们可以为 i 声明引用变量 , 如下所示:
intdouble在这些声明中 ,int main (){// 声明简单的变量inti;double d;// 声明引用变量intdoublei = 5;cout << "Value of i : " << i << endl;cout << "Value of i reference : " << r<< endl;d = 11.7;cout << "Value of d : " << d << endl;cout << "Value of d reference : " << s<< endl;return 0;}当上面的代码被编译和执行时 , 它会产生下列结果:
Value of i : 5Value of i reference : 5Value of d : 11.7Value of d reference : 11.7引用通常用于函数参数列表和函数返回值 。 下面列出了 C++ 程序员必须清楚的两个与 C++ 引用相关的重要概念:
阿狸先森|一文让你学完C++,干货收藏四、 C++ 类与对象初探:继承和重载C++ 类// 盒子的长度double breadth;// 盒子的宽度double height;// 盒子的高度};关键字 public 确定了类成员的访问属性 。 在类对象作用域内 , 公共成员在类的外部是可访问的 。 也可以指定类的成员为 private 或 protected 。
定义 C++ 对象类提供了对象的蓝图 , 所以基本上 , 对象是根据类来创建的 。 声明类的对象 , 就像声明基本类型的变量一样 。 下面的语句声明了类 Box 的两个对象:
Box Box1; // 声明 Box1 , 类型为 Box Box Box2; // 声明 Box2 , 类型为 Box对象 Box1 和 Box2 都有它们各自的数据成员 。 访问数据成员类的对象的公共数据成员可以使用直接成员访问运算符 (.) 来访问 。 为了更好地理解这些概念 , 让我们尝试一下下面的实例:
实例
#include using namespace std; class Box{public:double length;// 长度double breadth;// 宽度double height;// 高度}; int main( ){Box Box1;// 声明 Box1 , 类型为 BoxBox Box2;// 声明 Box2 , 类型为 Boxdouble volume = 0.0;// 用于存储体积// box 1 详述Box1.height = 5.0;Box1.length = 6.0;Box1.breadth = 7.0;// box 2 详述Box2.height = 10.0;Box2.length = 12.0;Box2.breadth = 13.0;// box 1 的体积volume = Box1.height * Box1.length * Box1.breadth;cout << "Box1 的体积:" << volume <当上面的代码被编译和执行时 , 它会产生下列结果:
Box1 的体积:210Box2 的体积:1560需要注意的是 , 私有的成员和受保护的成员不能使用直接成员访问运算符 (.) 来直接访问 。
C++ 继承面向对象程序设计中最重要的一个概念是继承 。 继承允许我们依据另一个类来定义一个类 , 这使得创建和维护一个应用程序变得更容易 。 这样做 , 也达到了重用代码功能和提高执行时间的效果 。
当创建一个类时 , 您不需要重新编写新的数据成员和成员函数 , 只需指定新建的类继承了一个已有的类的成员即可 。 这个已有的类称为基类 , 新建的类称为派生类 。
继承代表了 is a 关系 。 例如 , 哺乳动物是动物 , 狗是哺乳动物 , 因此 , 狗是动物 , 等等 。
基类// 基类class Shape {public:void setWidth(int w){width = w;}void setHeight(int h){height = h;}protected:int width;int height;}; // 派生类class Rectangle: public Shape{public:int getArea(){return (width * height);}}; int main(void){Rectangle Rect;Rect.setWidth(5);Rect.setHeight(7);// 输出对象的面积cout


推荐阅读