C++学习笔记——面向对象
来源:互联网 发布:c语言基础教程视频 编辑:程序博客网 时间:2024/05/07 03:39
一、类的声明
class Student //声明类类型 {private : //声明以下部分为私有的 int num; char name[20]; char sex;public : //声明以下部分为公用的 void display( ) { cout<<"num:"<<num<<endl; cout<<"name:"<<name<<endl; cout<<"sex:"<<sex<<endl; }};Student stud1,stud2; //定义了两个Student类的对象
private和public称为成员访问限定符(member access specifier)。除了private和public之外,还有一种成员访问限定符protected(受保护的),用protected声明的成员称为受保护的成员,它不能被类外访问(这点与私有成员类似),但可以被派生类的成员函数访问。如果在类的定义中既不指定private,也不指定public,则系统就默认为是私有的。
二、类和结构体类型的异同
用struct声明的结构体类型实际上也就是类。用struct声明的类,如果对其成员不作private或public的声明,系统将其默认为public。
三、成员函数
1.在类外定义成员函数
class Student{public : void display( ); //公用成员函数原型声明private : int num; string name; char sex; //以上3行是私有数据成员};void Student::display( )//在类外定义display类函数{ cout<<"num:"<<num<<endl; cout<<"name:"<<name<<endl; cout<<"sex:"<<sex<<endl;}Student stud1,stud2; //定义两个类对象
注:成员函数在类外定义时,必须在函数名前面加上类名,予以限定(qualifed),” :: “是作用域限定符(field qualifier)或称作用域运算符,用它声明函数是属于哪个类的。如果在作用域运算符“::”的前面没有类名,或者函数名前面既无类名又无作用域运算符“::”,则表示这个函数是是全局函数。
2.inline 成员函数
(1)为了减少时间开销,如果在类体中定义的成员函数中不包括循环等控制结构,C++系统会自动将它们作为内置(inline)函数来处理。
(2)如果成员函数不在类体内定义,而在类体外定义,系统并不把它默认为内置(inline )函数,调用这些成员函数的过程和调用一般函数的过程是相同的。如果想将这些成员函数指定为内置函数,应当用inline作显式声明。
注:如果在类体外定义inline函数,则必须将类定义和成员函数的定义都放在同一个头文件中(或者写在同一个源文件中),否则编译时无法进行置换(将函数代码的拷贝嵌入到函数调用点)
三、成员函数存储方式
(1)一个对象所占的空间大小只取决于该对象中数据成员所占的空间,而与成员函数无关。
(2)C++专门设立了一个名为this的指针,用来指向不同的对象。
- C++学习笔记——面向对象
- 学习笔记1—面向对象
- 《面向对象程序设计-C++》学习笔记1
- 《面向对象程序设计-C++》学习笔记2
- Objective-c学习笔记02——类(面向对象)01
- 黑马程序员——Objective-C学习笔记(一):面向对象
- Objective-C学习笔记(二十三)——面向对象之封装
- 面向对象学习笔记
- 学习笔记--面向对象
- 面向对象学习笔记
- C++primer——阅读笔记(非面向对象)
- 《Java面向对象编程》学习笔记1——面向对象开发方法
- java学习笔记《java面向对象编程》——面向对象开发方法概述
- C++ Primer学习笔记——$15 面向对象编程
- Lua学习笔记七——lua也面向对象
- 《Java面向对象编程》学习笔记12——计数器
- C#学习笔记4——简单的面向对象
- 深入浅出面向对象分析与设计——学习笔记
- Java学习笔记之<JDBC连接MySQL的步骤>
- 《大话数据结构》第9章 排序 9.2 排序的基本概念与分类
- android图形系统详解一:Canvas
- CAS总结之Ticket篇(转,非常详细,后文还提到一个ppt,非常易懂)
- ASP.NET2.0下实现分布式StateServer(状态服务器)
- C++学习笔记——面向对象
- android Canvas类介绍
- 初识JAVA1
- 《大话数据结构》第9章 排序 9.3 冒泡排序(上)
- linux编程:环境表
- 《大话数据结构》第9章 排序 9.3 冒泡排序(下)
- HDU3756
- Android Graphic :OpenGL|ES
- 判断一段字符中是否含有中文