C++学习摘要之一:类和对象

第一章 类和对象

类和对象是面向对象程序设计的两个最基本、最重要的概念。所谓对象就是客观事务在计算机中的抽象描述;而所谓类则是对具有相似属性和行为的一组对象的统一描述。从程序设计语言的角度来说,类是一种数据类型,而对象是具有这种类型的变量。

1.类的定义

类定义的一般形式为:

class 类名

{

private:

数据成员或成员函数

protected:

数据成员或成员函数

public:

数据成员或成员函数

};

<各成员函数的实现代码>

其中,class是定义类的关键字。类名是一个有效的标志符,且一般首字母大写。大括号括起来的部分是类说明部分,它声明了类的所有成员(包括数据成员和函数成员),这些成员从访问权限上分成三类,即私有(private)、公有(public)和保护(protected),其中默认权限为private.

类的private部分说明的成员,在类之外是不能存取的,只有类中的成员函数才能存取private的数据成员和成员函数。类的public部分说明的成员,可被程序中的任何函数或语句存取,public成员多为成员函数,用来提供一个与外界的接口,外界只有通过这个接口才可以实现对private成员的存取。类的protected部分说明的成员,不能在类之外存取,只有类的成员函数及其子类(派生类)可以存取protected的成员。

2.成员函数的定义

类中的成员函数可以在两处定义:一是将成员函数的定义直接写在类中,一般适合于成员函数规模较小的情况;二是在类的定义体中只写出成员函数的原型说明,而成员函数的定义写在类的定义之外,这种情况比较适合于成员函数体较大的情况,其定义格式为:

返回值类型 类名::成员函数名(参数说明)

{

函数体;

}

此处的“::”符号称为作用域运算法(名空间分隔符),它是用来指明哪个函数属于哪个类或哪个数据属于哪个类。

需要说明的是,成员函数既可以是有参函数,也可以像普通函数一样,给形参指定默认值。

3.对象及指向对象的指针

对象是类的实例,定义对象之前一定要说明该对象的类。定义对象的一般格式为:

类名 对象名表;

其中,对象名表中可以有一个或多个对象名,多个对象名之间用逗号分隔。

另外,也可以定义指向类类型的指针,其定义格式为:

类名 *指针变量名;

时间: 2024-10-31 07:49:08

C++学习摘要之一:类和对象的相关文章

一步一步学习PHP(5) 类和对象_php基础

在这一节中,我们就来看看在PHP中如何创建一个类和对象. 1. 创建类 在PHP中,创建一个类和在C#/Java中基本类似,闲话少说,给大家看个最简单的例子: 复制代码 代码如下: <?php class People { var $name; public function GetName() { return $this->name; } public function SetName($name) { $this->name=$name; } } $p=new People();

C++学习摘要之六:友元函数与友元类

采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为 公有的,依此提供类与外界间的通信接口.但是,有时需要定义一些函数,这些函数不是类的一部分,但 又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数.除了友元函数外,还有 友元类,两者统称为友元.友元的作用是提供了工序的运行效率,但又破坏了类的封装性. 1.友元函数 友元函数是可以直接访问类的私有成员的非成员函数.它是定义在类外的普通函数,它不属于任何类 ,但需要在类的定义中加以声明,声明时

Javascript学习6 - 类、对象、继承

原文:Javascript学习6 - 类.对象.继承     Javasciprt并不像C++一样支持真正的类,也不是用class关键字来定义类.Javascript定义类也是使用function关键字来完成的.     在Javascript中,可以把对象(object)定义为"属性的无序集合",每个属性存放一个原始值.对象或者函数.理解这一点非常重要. ECMAScript定义:对象由特性(attribute)构成,特性可以是原始值,可以是引用值,如果特性存放的是函数,它将被看作对

php中的类、对象学习笔记

面向对象思想 面向对象程序设计(Object-Oriented Programming,OOP)是一种程序设计范型,同事也是一种程序开发方法.它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性.灵活性和可扩展性. 面向过程.面向对象以及函数式编程被人们称为编程语言中的三大范式(实际上,面向过程与面向对象都同属于命令式编程),是三种不同编码和设计风格.其中面向对象的核心思想是对象.封装.可重用性和可扩展性. 面向对象是一种更高级.更抽象的思维方式,面向过程虽然也是一种抽象,但面向

Kotlin学习(四)—— 类和对象,继承,覆盖,抽象类,属性和字段,接口,可见性修饰符,扩展

一.类和对象 1. 类 Kotlin和java的类的声明都是一样的,用class表示,比如 class TestClass { } 如果是空类的话,大括号都可以省了 2.构造函数 一个主构造函数和多个次要函数,主函数在类名后,如 class TestClass { //主函数 class TestClass constructor(firstName: String) { init { print("这里初始化") } } } 如果主构造函数没有任何注解或者可⻅性修饰符,可以省略这个

C++学习摘要之四:虚函数和多态

多态性与前面提到的数据封装和继承性共同构成了面向对象程序设计的三个重要机制. 1.静态联编与动态联编 由于函数重载的存在,当程序中出现调用同名函数时,编译器会根据函数的参数类型.个数决定调用 执行哪一个同名函数的代码,这种把一个函数的调用与适当的函数实现代码联系在一起的过程,叫做联编 .根据联编的实现阶段的不同,可将其分为静态联编和动态联编两种. 静态联编是在程序编译阶段确定一个函数调用与函数实现代码间的对应关系,这种对应关系确定下来 后,在程序运行过程中就根据这个对应关系去调用执行相应的函数代

PHP面向对象编程详解:类和对象

PHP面向对象编程详解:类和对象 从OOP的视角看,不应区分语言.无论是C++.无论是Java.无论是.net还有更多面向对象的语言,只要你了解了OO的真谛,便可以跨越语言,让你的思想轻松的跳跃.便没有对于Java..net.PHP 之间谁强谁弱的争执了. 希望这个介绍PHP5面向对象编程(OOP)的资料能让初学者受益,能让更多的PHPer开始转向OO的编程过程. 相对PHP4,PHP5在面向对象方面改变了很多.我们将只介绍PHP5环境下的面向对象.而我们必须改变自己来跟随PHP5的发展.如果代

PHP类和对象函数实例详解

1. interface_exists.class_exists.method_exists和property_exists:         顾名思义,从以上几个函数的命名便可以猜出几分他们的功能.我想这也是我随着对PHP的深入学习而越来越喜欢这门编程语言的原因了吧.下面先给出他们的原型声明和简短说明,更多的还是直接看例子代码吧. bool interface_exists (string $interface_name [, bool $autoload = true ]) 判断接口是否存在

C#体验编程技术 类与对象

编程|对象 组件编程不是对传统面向对象的抛弃,相反组件编程正是面向对象编程的深化和发展.类作为面向对象的灵魂在C#语言里有着相当广泛深入的应用,很多非常"Sharp"的组件特性甚至都是直接由类包装而成.对类的深度掌握自然是我们"Sharp XP"重要的一环. 类 C#的类是一种对包括数据成员,函数成员和嵌套类型进行封装的数据结构.其中数据成员可以是常量,域.函数成员可以是方法,属性,索引器,事件,操作符,实例构建器,静态构建器,析构器.我们将在"第五讲 构