关于C++的类与c的结构体的理解

C++的类class

c++的类只是一个声明并不是定义,是declaration不是definition。

这种声明就像c中的int、char 、double、struct一样。

声明一个类:

class Person
{
privateint age;
int height;

public:
void f();
}

而在声明这种Person的类中 age height是不存在的,因为这种类还没有定义一个对象,当定义了一个对象后Person a;,这个对象a才会有age、height。着重理解声明与定义的区别就可以很好的分析C++的class。

C++的类与c的结构体区别

当有了Person这个类时,Person就是像c中的int、char一样,只有当真正赋予了这个类对象后才会有东西诞生。
像c中:int a;一样。
有了int类型的a。
c++中自己可以定义自己想要的类型,并且在这个类型里不仅可以定义变量,还可以定义函数。
当让这个类有对象时,就像c中的struct a;一样,用Person b;
此时这个b和在c语言中的a是两个不同的类型,b的功能更多,c中的a是int类型的只能赋值然后通过外界函数运算,而b中它是Person类型的,这个类型是我们自己所定义的,我们像要这个类型怎么样就可以怎么样,想要在这个类型给个f()的函数就可以定义个f()的函数。
C++这种类实质就是c的结构体里面可以定义函数,当要使用这个类的自己带的函数时就可以

b.f();

而在c中是不可以在结构体内定义函数的。

有人会说C和C++是两种不同的语言,其实这个说法是错误的,C++的本质还是c,只不过在c的基础上多了许多功能,定义一个类使用类中的函数达到目的其实完全可以通过c中定义个结构体,然后定义一个函数引用结构体指针,达到相同的目的。只不过C++显得更方便,毕竟是c的优化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值