C++学习笔记(面向对象)
2018-03-18 11:00
281 查看
protected(受保护的):用protected声明的成员称为受保护的成员,它不能被类外访问,但是可以被派生类的成员函数访问
在类体中,既不写关键字private,又不写public,则默认为private
声明类的方法是由声明结构体类型的方法发展来的
在类体中直接定义函数时,不需要在函数名前边加上类名,因为函数属于哪一类不言而喻。但是在类外定义成员函数是,必须在函数名前边加上类名,予以限定(qualifed),“::”是作用域限定符(field qualifier),或称作用域运算符,用它声明函数是属于哪一类。如果在“::”前没有类名,或者函数名前即无类名又无作用域运算符“::”,如 ::display(),或者display(),则表明display函数不属于任何类,不是某个类的成员函数,而是全局函数。
每个对象所占用的存储空间只是该对象的数据部分所占用的存储空间,而不包含函数代码所占的存储空间,一个对象所占空间的大小只取决于该对象中数据成员所占的空间,而与成员函数无关。
通过对象名和成员运算符:对象名.成员名
不仅可以在类外引用对象的公用数据成员,还可以调用对象的公用成员函数,但同样必须指出对象名
类外只能调用公用的成员函数。
通过指向对象的指针:
通过对象的引用变量来访问对象中的成员:若为一个对象定义了一个引用变量,它们共占同一段存储单元,实际上它们是同一对象,只是用不同的名字表示而已,Time t1;
Time &t2=t1;
cout<<t2.hour;由于t2与t1共占同一段存储单元(即t2是t1的别名),因此t2.hour就是t1.hour
在类体中,既不写关键字private,又不写public,则默认为private
声明类的方法是由声明结构体类型的方法发展来的
在类体中直接定义函数时,不需要在函数名前边加上类名,因为函数属于哪一类不言而喻。但是在类外定义成员函数是,必须在函数名前边加上类名,予以限定(qualifed),“::”是作用域限定符(field qualifier),或称作用域运算符,用它声明函数是属于哪一类。如果在“::”前没有类名,或者函数名前即无类名又无作用域运算符“::”,如 ::display(),或者display(),则表明display函数不属于任何类,不是某个类的成员函数,而是全局函数。
每个对象所占用的存储空间只是该对象的数据部分所占用的存储空间,而不包含函数代码所占的存储空间,一个对象所占空间的大小只取决于该对象中数据成员所占的空间,而与成员函数无关。
对象成员的引用:
三种访问对象中成员的方法:通过对象名和成员运算符、通过指向对象的指针、通过对象的引用变量。通过对象名和成员运算符:对象名.成员名
不仅可以在类外引用对象的公用数据成员,还可以调用对象的公用成员函数,但同样必须指出对象名
类外只能调用公用的成员函数。
通过指向对象的指针:
class Time{ public: int hour; int minute; }; Time t,*p; p=&t; cout<<p->hour;此时,p->hour,(*p).hour,t.hour三者等价
通过对象的引用变量来访问对象中的成员:若为一个对象定义了一个引用变量,它们共占同一段存储单元,实际上它们是同一对象,只是用不同的名字表示而已,Time t1;
Time &t2=t1;
cout<<t2.hour;由于t2与t1共占同一段存储单元(即t2是t1的别名),因此t2.hour就是t1.hour
相关文章推荐
- C++面向对象(学习笔记)
- C++学习笔记2--面向对象
- C++学习笔记10-面向对象
- C/C++学习笔记(五)面向对象的编程
- Pro visual c++/cli and .net 2.0 platform2 学习笔记(9第三章 面向对象的C++/CLI==2)
- C语言学习笔记之C++面向对象
- C++学习笔记之三——面向对象的编程
- C++学习笔记11-面向对象2
- C++面向对象—成员函数与成员变量的实现机制学习笔记(1)
- 嵌入式开发之C++基础学习笔记4--面向对象封装继承多态
- C++学习笔记10-面向对象
- C++学习笔记->面向对象的三个特性
- C++基础学习笔记----第七课(面向对象的基本概念)
- C++基础学习笔记----第七课(面向对象的基本概念)
- C++学习笔记4:面向对象的基础之类与对象
- 0019 Java学习笔记-面向对象-方法
- C++学习笔记之类
- 初学Python的学习笔记8----面向对象、数据封装、访问限制、继承和多态
- 【VS2010学习笔记】【编程实例】 (在Visual Studio中使用C++创建和使用DLL)
- C++学习笔记--继承与多态