有关c++面向对象的问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 06:19:40
总有感觉,一个新建的class就相当于一个新的数据类型...
class template struct ....
快晕了...
给点精辟的解释吧.

class:
简单的理解:类型
实际上,int ,double ,这些都是class的一种。c++面向对象的最基本的内容是,用户可以定义自己的类型。每新定义一个class,就相当于一个新的类型。
struct:
c语言中常用,结构体,将某几种数据打包封装在一个大的类型中。
比如说,一个学生机构体,这其中可以存学生的名字,学生的年龄,学生的属性,学号,等等。
c语言中的结构体,与c++中的类相比,类能够定义自己的操作(函数),能够对封装的数据设置访问权限,有更好的封闭性。比如,对一个学生类,可以将根据成绩排名,注册,退学这些操作,一起封装在类中。结构体没有这样的功能,对数据的封闭性也较差。
template:
模版。涉及泛型编程的内容,简单的说,就是让任意类型的变量都能适用的函数或者封闭类

要这样理解,
数据类型都是 class

知道数据库吧,
把一个Class比做一张Table。
把他当做一个实体。

学过,但都交给老师了

class就是一个数据类型,定义了一个这个数据类型的各种性质
template就是一个function能适应各种数据类型作为它的parameter
struct就是相当于一种class但是这个里面只能存data,没有function