主要讲面向对象的基本概念和一些概念,以及实现简单的面向对象C++程序。

类和对象

基本概念

类和对象是面向对象中的两个基本概念,类是指一类事物,是一个抽象的概念。对象是指某一个类的实体,是一个具体存在的事物。

类是一中模板,可以通过这种模板创建出不同的对象实例。对象实例是类模板的一个具体实现。一个类可以有很多个对象,而一个对象必然属于某个类。

类和对象的意义

类用于抽象的描述一类事物所特有的属性和行为。对象是一对一个特有的事物,拥有所属类的所有属性,并且每一个属性都有一个特有的值。

类之间的关系

类之间的关系都是很清晰的,但是一些类还是可以再进行具体细分,从同一个类细分出来的类和原来的类之间时候关系的,这种关系叫做继承。继承的类拥有原来的类的所有属性。

对象的深入含义

对象是一个类的实例,也就是一个类中的特定事物。 对象和类的关系就像模具和成品的关系,类就是一个模具,使用这个模具可以生产出多个不同的成品,这些成品就是各不相同的对象。同一个类中的不同对象都有对应的类中的属性和行为,但是在这些属性和行为不完全相同。

C++中类的表示方法

基本的表示方法如下图所示:


在C++中,struct代表一个类,分号“:”代表这个类从哪里继承来的。类里的具体内容主要包括属性和行为,属性使用变量来标示,行为使用函数来标示。

课后习题

使用生活中的实例,来描述类和类之间的关系。
这里套用的是课程中的思路来实现一个电脑的类以及属性,由于英语不是很好,所以拼音代替,哈哈~
例程如下:
#include <stdio.h>

struct Computer
{
bool Cpu;
bool Neicun;
int a();
}; struct Dell:Computer
{
bool hp;
char Japan;
int b();
}; struct Lenovo:Computer
{
bool lenovo;
char China;
int c()
{
printf ("L\n");
return 0;
}
}; struct Shenzhou:Computer
{
bool shenzhou;
char China;
int d();
}; struct key:Lenovo
{
bool bad;
int e();
}; int main()
{
Computer computer;
computer.Cpu = 1;
computer.Neicun = 1; Dell dell;
dell.hp = 1;
dell.Cpu = 1; Lenovo lenovo;
lenovo.c(); return 0;
}

C++基础学习笔记----第七课(面向对象的基本概念)的更多相关文章

  1. Python基础学习笔记(七)常用元组内置函数

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-tuples.html 3. http://www.liaoxue ...

  2. C++基础学习笔记----第十三课(操作符重载-下)

    本节主要讲使用成员函数重载操作符,包括[],=,(),->四种操作符的重载以及&&和||的问题. 类的成员函数进行操作符重载 基本概念 类的成员函数也可以进行操作符的重载.类的普 ...

  3. C++基础学习笔记----第四课(函数的重载、C和C++的相互调用)

    本节主要讲了函数重载的主要概念以及使用方法,还有C和C++的相互调用的准则和具体的工程中的使用技巧. 函数重载 1.基本概念 函数重载就是用同一个函数名来定义不同的函数.使用不同的函数参数来搭配同一个 ...

  4. python基础学习笔记(七)

    本章介绍如何将语句组织成函数,这样,可以告诉计算机如何做事. 下面编写一小段代码计算婓波那契数列(前两个数的和是第三个数) fibs = [0,1] # 定义一个列表,初始内容是0,1 for i i ...

  5. C++多线程基础学习笔记(七)

    一.std::async和std::future的用法 std::async是一个函数模板,std::future是一个类模板 #include <iostream> #include & ...

  6. JavaSE学习笔记(2)---面向对象基础

    JavaSE学习笔记(2)---面向对象基础 1.面向对象具有三大特征:封装性.继承性和多态性,而面向过程没有继承性和多态性,并且面向过程的封装只是封装功能,而面向对象可以封装数据和功能.所以面向对象 ...

  7. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  8. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  9. C#RabbitMQ基础学习笔记

    RabbitMQ基础学习笔记(C#代码示例) 一.定义: MQ是MessageQueue,消息队列的简称(是流行的开源消息队列系统,利用erlang语言开发).MQ是一种应用程序对应用程序的通信方法. ...

随机推荐

  1. week4_motion_of_ball_1(小球运动)——最基本

    # Ball motion with an explicit timer import simplegui # Initialize globals width = 600 height = 600 ...

  2. BZOJ 1036: [ZJOI2008]树的统计Count( 树链剖分 )

    树链剖分... 不知道为什么跑这么慢 = = 调了一节课啊跪.. ------------------------------------------------------------------- ...

  3. C语言深度剖析---预处理(define)(转载)

    1.数值宏常量     #define宏定义是个演技非常高超的替身演员,但也会耍大牌的,所以我们使用它要慎之又慎.它可以出现在代码的任何地方,从本行宏定义开始,以后的代码都认识宏了:也可以把任何东西都 ...

  4. Chapter 12 外观模式

    外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个模式使得这一子系统更加容易使用. 外观模式三个阶段: 首先,在设计初期阶段,应该要有意识的将不同的两个层分离. 其次,在 ...

  5. QT5 动态链接库的创建和使用(QT自己做动态库给自己使用)

    记录一下QT5 动态链接库的创建和使用 在文章的最后有完成的代码供下载 1.创建动态链接库 先新建一个库项目 选择chose进入下一下页面,类型选择共享库,输入一个名称:我输入的是sld 再点击下一步 ...

  6. 在springmvc中controller的一个方法处理多个不同请求

    value的uri值为以下三类: A) 可以指定为普通的具体值: B)  可以指定为含有某变量的一类值(URI Template Patterns with Path Variables): @Req ...

  7. bootstrap scaffold框架

    这是一段典型的html typical HTML file: <!DOCTYPE html> <html> <head> <title>Bootstra ...

  8. Spring连接MySQL、Oracle和SQL Server

    其中applicationContext.xml的配置如下: <?xml version="1.0" encoding="UTF-8"?> < ...

  9. MVC整个样例的源代码

    以下就是整MVC样例的源代码: #windows应用程序 #开发者:蔡军生(QQ:9073204) 深圳 2014-9-24 #使用类来描写叙述 from ctypes import * from c ...

  10. log4cpp的初步使用

    (1)下载log4cpp的工程,编译生成lib文件和dll库 下载路径为:http://sourceforge.net/projects/log4cpp/files/latest/download 如 ...