浅谈C语言和C++中“类”的区别
在C语言中,没有“类”的概念,但是可以由结构体struct构造出我们所需要的数据类型,struct可以组合不同的数据类型,可以看作是C语言中的“类”。
下面是C语言中的结构体的实例。
#include<stdio.h>
#include<string.h> typedef struct Person{
unsigned age;
char name[];
}person; int main(void){
person* xiao_ming = (person*)malloc(sizeof(person)); // 注意:p->q相当于(*p).q
(*xiao_ming).age = ;
strcpy(xiao_ming->name,"xiao ming");
printf("name is %s\n",xiao_ming->name);
printf("age is %d",xiao_ming->age);
return ;
}
在c++语言中则直接用class可以构造真正的类,并且实例化为对象。
下面是简单的实例。
#include<iostream>
#include<string>
#include<cstdlib>
#include<cstddef> using namespace std;
class Person{
public:
string name;
size_t age;
}; class Shabi{
public:
string name;
size_t age;
Shabi(string m,size_t a):name(m),age(a){cout<<"构造了..."<<endl;}
~Shabi(){cout<<"析构了..."<<endl;}
}; int main(){
Person* xiao_ming = new Person();
xiao_ming->name = "xiao ming";
xiao_ming->age = ;
cout<<"name is "<<xiao_ming->name<<endl<<"age is "<<xiao_ming->age<<endl;
Shabi liu_ya = Shabi("liu ya",);
cout<<"shabi is "<<liu_ya.name<<endl<<"age is "<<liu_ya.age<<endl;
return ;
}
浅谈C语言和C++中“类”的区别的更多相关文章
- 浅谈c语言和c++中struct的区别
今天做二叉树的时候,发现利用结构体有点乱,不知道怎么回事,我之前知道c语言中声明一个结构体变量时需要通过 struct 结构体名 变量名,而在c++中,可以不要struct,由于可以利用typedef ...
- 浅谈Java语言中ArrayList和HashSet的区别
Java语言中ArrayList和HashSet的区别 2019-04-10 13:22:49 一.基本区别 首先一起看个实例,其代码如下: package com.MrZ_baby.com; i ...
- 转:浅谈CSS在前端优化中一些值得注意的关键点
前端优化工作中要考虑的元素多种多样,而合理地使用CSS脚本可以在很大程度上优化页面的加载性能,以下我们就来浅谈CSS在前端优化中一些值得注意的关键点: 当谈到Web的“高性能”时,很多人想到的是页面加 ...
- 浅谈Java语言中try{}catch{}和finally{}的执行顺序问题
浅谈Java语言中try{}catch{}和finally{}的执行顺序问题 2019-04-06 PM 13:41:46 1. 不管有没有出现异常,finally块中代码都会执行: 2. 当t ...
- 浅谈Kotlin(三):类
浅谈Kotlin(一):简介及Android Studio中配置 浅谈Kotlin(二):基本类型.基本语法.代码风格 浅谈Kotlin(三):类 浅谈Kotlin(四):控制流 前言: 已经学习了前 ...
- 浅谈Python在信息学竞赛中的运用及Python的基本用法
浅谈Python在信息学竞赛中的运用及Python的基本用法 前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在& ...
- 【WebApi系列】浅谈HTTP在WebApi开发中的运用
WebApi系列文章 [01]浅谈HTTP在WebApi开发中的运用 [02]聊聊WebApi体系结构 [03]详解WebApi参数的传递 [04]详解WebApi测试和PostMan [05]浅谈W ...
- 浅谈头文件(.h)和源文件(.cpp)的区别
浅谈头文件(.h)和源文件(.cpp)的区别 本人原来在大一写C的时候,都是所有代码写在一个文件里一锅乱煮.经过自己开始写程序之后,发现一个工程只有一定是由多个不同功能.分门别类展开的文件构成的.一锅 ...
- C语言和C++中动态申请内存
在C语言和C++的动态内存的使用方法是不同的,在C语言中要使用动态内存要包含一个头文件即 #include<malloc.h> 或者是#include<stdlib.h> ...
随机推荐
- linux安装字体库(simSun为例)
在开发过程中,发现报表打印,字体和默认字体不一样.本地开发环境(windows)没问题,但是远程linux一直出现这样的问题.经过排查发现linux没有安装中文字体库宋体. linux查看当前的字体库 ...
- - 多次点击事件 MD
- net core体系-web应用程序-4asp.net core2.0 项目实战(CMS)-第二章 入门篇-快速入门ASP.NET Core看这篇就够了
.NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了 原文链接:https://www.cnblogs.com/yilezhu/p/9985451.ht ...
- springboot-异步、发送邮件(一)
pom.xml <!--邮件javax.mail--> <dependency> <groupId>org.springframework.boot</gro ...
- SpringBoot--多环境部署配置文件
在resources 下创建 application-{profile}.properties 的配置文件,其中profile是任意名字: test:测试环境 prod:线上环境 pre-prod:预 ...
- 安卓开发之利用XmlSerializer生成XML文件
package com.lidaochen.phonecall; import android.net.Uri; import android.os.Environment; import andro ...
- echarts —— tooltip 鼠标悬浮显示提示框属性
最近一直在使用echarts,当然也被其中的各种属性整的头大,记录一下其中遇到的问题. tooltip:鼠标悬浮时显示的提示框. 今天想要记录的是[自定义提示框的内容],如下图,鼠标悬浮时提示框内显示 ...
- WeakReference 与 SoftReference 区别
装载自:http://flyneil.iteye.com/blog/1345177 WeakReference与SoftReference都可以用来保存对象的实例引用,这两个类与垃圾回收有关. Wea ...
- mac上配置apidoc环境
1. 安装node.js 和npm 前往 https://nodejs.org/en/ 下载node.js的最新版本,双击.pkg进行安装 在终端输入 node -v ,如正确输出版本号即安装成功 ( ...
- iPhone 11来了