栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

6.1.1 定义类与对象

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

6.1.1 定义类与对象

引言:

C++面向对象的三大特性为:封装、继承、多态。认为万物皆有对象,对象上尤其属性和行为。类是一种用户定义类型,类是用户定义的数据和操作这些数据的函数的封装。类的对象使用自己的方法完成对数据的操作。类的实例称为对象,正如基本数据类型的实例称为变量一样,在程序设计中,变量与对象两个术语常常可以互相交换使用。在过程化程序设计中程序的基本单位是函数,而在面向对象的程序设计中程序的基本单位是类。

定义类语法:

class 类名

{

public:共有段数据成员和成员函数;

protected:保护段数据成员和成员函数;

private:私有段数据成员和成员函数;

};

//class是定义类的关键字。类名是用户定义的标识符,用于标识类型的名字。一对花括号说明类的成员,以分号结束定义语句。public和protected和private是访问属性,后面的就是行为。类中的属性和成员统一叫做成员,属性也叫做成员属性和成员函数,行为也叫做成员函数和成员方法。

类成员不同关键字不同的访问属性(访问权限):

1、public:声明公有成员。共有成员是类的接口,在类中和类外均可见

2、protected:声明保护成员。保护成员仅在类和它的派生类中可见。

3、private:用于声明私有成员。私有成员只能在类中可见,不能在类外或派生类中使用。如果私有成员放在第一段,可以省略关键字private。

//各种访问属性的成员说明在类定义中没有顺序规定,也可以重复出现。为了便于了解接口,往往把共有段成员放在开始位置。除了class外,关键字struct也可以定义类。struct和class的区别:struct的默认权限为共有;而class的默认权限为私有。

类中函数的说明:

1、在类中声明函数原型之后,在类的说明语句中没有给出函数的实现。成员函数需要在类外定义使用作用域运算符来进行说明,此时函数的形式为:

返回类型 类名::函数名(参数表){ 函数内容 } //作用域运算符就是::用于标识成员属于什么类。

2、简单的成员函数可以在类中定义,此时,编译器作为内联函数处理

类对象的定义和使用:

对象时类类型的变量,说明方法与普通变量一样。

类名 变量名;

说明以个类类型后,编译器为每个对象的数据成员分配内存。对象没有成员函数的副本,类成员函数可以被对象调用。类成员的使用方式和结构相同。用点访问,如类中如果说明函数:app(int a,doubleb);在main函数中说明对象student,则可以由student.app(2,2.3);此外类类型还可以作为数组的类型!

注意:类种对象说明的时候,对数据我们最好都是private,通过在public中的函数来修改private中的数据(对外提供公共接口,包括读和写),这么做有两个好处:1、实现了对数据的保护 2、能很好的实现数据的跟踪,因为如果数据发生了错误,而修改数据的方式只有一种,可以通过查找函数名字来排除错误

类对象如何占用内存

1、注意如果是空对象(也就是类中啥也没写,实际上编译器会给上面加东西的),C++编译器会给每个空对象分配一个字节空间,是为了区分对象占内存的位置

2、如果类对象中写了非静态成员变量,那么对象占用的空间就是非静态成员变量的大小

3、静态成员变量不属于类的对象上

4、静态成员函数和非静态成员函数都不属于类对象

访问对象的成员:

使用对象包括访问对象的数据成员和调用成员函数,类中的成员函数可以使用自身不同性质的数据成员和调用成员函数。共有成员时提供给外部的接口,即只有共有成员在类外可见。对象成员的访问形式与访问结构的形式相同,运算符 "."和"->"用于访问对象。

注意:如果在类里面定义了一种全新的数据类型,并且你在成员函数中使用到这种类型,当你使用这种类型的时候你需要加上类名和作用域

setcolour operator*(const setcolour::colour& A, const setcolour& B)//属于

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/917406.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号