包含c语言classstring是什么意思的词条

本文目录一览:

C语言中有string类型变量吗?

” C语言中有string类型变量吗”

这里的 string 有 二 义性。

(1) 如果 string 是普通词汇,“C语言中有字符类型变量吗”, 答,有。 字符类型 用 char 声明。

char str[]=”This is a string”;

(2) 如果 string 是专用词汇,“C语言中有string类型变量吗”,答,没有。string 是 类,是 class, 不是 类型,不是 type.

类 的 声明 用 构造函数初始化,或 new 声明。

类 — C++, 不是 C

c++语言中class是什么意思

在C++ 语言中class是定义类的关键字,C++中也可以使用struct定义类。

两者区别是,用class定义的类,如果数据成员或成员函数没有说明则默认为private(私有)的,而用struct定义的,默认为public(公共)的。  

 示例 #include using namespace std; class C { public: int getAge() const { return age; } void setAge( int n ) { age = n; } private: int age; }; int main() { C c; c.setAge( 22 ); cout “My age: ” c.getAge() endl; return 0;

}

作为面向对象程序设计的基础,掌握class的基本结构和特性是十分重要的。

c语言中什么是类(class),什么是结构。两者有什么区别?详细点。书上不太清楚。。谢谢

类与结构的差别 :

1. 值类型与引用类型

结构是值类型:值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int 对应System.int32 结构,string 对应 system.string 结构 ,通过使用结构可以创建更多的值类型

类是引用类型:引用类型在堆上分配地址

堆栈的执行效率要比堆的执行效率高,可是堆栈的资源有限,不适合处理大的逻辑复杂的对象。所以结构处理作为基类型对待的小对象,而类处理某个商业逻辑

因为结构是值类型所以结构之间的赋值可以创建新的结构,而类是引用类型,类之间的赋值只是复制引用

注:

1.虽然结构与类的类型不一样,可是他们的基类型都是对象(object),c#中所有类型的基类型都是object

2.虽然结构的初始化也使用了New 操作符可是结构对象依然分配在堆栈上而不是堆上,如果不使用“新建”(new),那么在初始化所有字段之前,字段将保持未赋值状态,且对象不可用

2.继承性

结构:不能从另外一个结构或者类继承,本身也不能被继承,虽然结构没有明确的用sealed声明,可是结构是隐式的sealed .

类:完全可扩展的,除非显示的声明sealed 否则类可以继承其他类和接口,自身也能被继承

注:虽然结构不能被继承 可是结构能够继承接口,方法和类继承接口一样

string.class是什么东西啊,在api中string类没有class这个属性啊,这是图片

这个是反射,String.class可以返回一个代表String类的类对象(官方叫类类型,Class Type,因为Java里面万物皆对象,所以类其实也是一个对象)。

另外把String实例化之后,再用getClass();方法也可以返回类对象。比如

String s = new String(“lalala”);

s.getClass();

而且String.class == s.getClass();

也就是说一个类的类对象只能有一个。

具体建议去看慕课网的视频,讲得特别好:

c++中string和char的主要区别在哪?

C++中的char是个基本类型,跟int一样;而string却是个库自带的类,声明的变量是个对象,但不需要程序员自动析构。他们都可以被自动初始化,但还是手动初始化更保险,免得使用不当,引起coredump

下面是c 中字符串与C++字符串的区别。希望下面的state能clarify your issue. :)

1)

在C语言中,将字符串作为字符数组来处理。即C string就是 char arrary[MAX_SIZE];字符数组。

而C++中的string 是 string class, 声明形式 string strObject.变量是个对象。只是他是C++ 标准库提供的string类,

其实现效果跟用户自定义的类一样。

2) C string 字符串可以用字符串数组 char Array[MAX_SIZE];与字符串变量 char *p; 两种方式来存储。

以 ‘\0’为字符串结束标志。

strlen 是把串结束符 ‘\0’算在内的,而sizeof是在对字符数组和字符变量的操作结果不一样,引起原理不一样。

strcmp, strncmp,连接使用strcat, 不能 str1+str2, strncat

strcpy, stncpy; strchr(str1, ch); 在str1中查找ch第一次出现的位置,返回指针变量

而C++ string是类,是对象.结束符是npos,或者-1;

不用指定字符数目的大小。

+ 取代了strcat

length和size取代了strlen

append, compare, substr,find, find_firt_of等函数

可以直接=, 而不用strncpy。

insert, replace, at, erase, clear, swap还有iterator函数的实现。

3)在函数实现部分

printf,scanf, fprinf等可以format的一个字符串中使用 “%s”时,只能用c string;如果是C++ string的话,就必须先变成

c string,否则就会报错。如:

a)

string str (“Test string”);

printf(“%s\n”, str);

编译错误:warning: cannot pass objects of non-POD type ‘struct std::string’ through ‘…’; call will

abort at runtime

执行错误:Illegal instruction(coredump)

b)

void strprint(const char *s)

{

printf(“function: %s\n%”, s);

}

string str (“Test string”);

strprint(str);

编译错误:error: cannot convert ‘std::string’ to ‘const char*’ for argument ‘1’ to ‘void strprint(const

char*)’

因为c string是基本类型:char 或char array;而c++ string却是个类,是个对象。二者的实现截然不同,不同场合的使用需

要转换。

修改:只需要将a), b)中的str变为 str.c_str()即可。

对了这个C++ string的c_str()函数能给出c string 和C++ string的部分区别的解释。

4.头文件

只有在使用c string的strncpy, strtok等库函数时才include string.h

而C++中,则在声明 string 对象时include string

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/286979.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-23 13:06
下一篇 2024-12-23 13:06

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • Python语言实现人名最多数统计

    本文将从几个方面详细介绍Python语言实现人名最多数统计的方法和应用。 一、Python实现人名最多数统计的基础 1、首先,我们需要了解Python语言的一些基础知识,如列表、字…

    编程 2025-04-28
  • Python作为中心语言,在编程中取代C语言的优势和挑战

    Python一直以其简单易懂的语法和高效的编码环境而著名。然而,它最近的发展趋势表明Python的使用范围已经从脚本语言扩展到了从Web应用到机器学习等广泛的开发领域。与此同时,C…

    编程 2025-04-28
  • Python基础语言

    Python作为一种高级编程语言拥有简洁优雅的语法。在本文中,我们将从多个方面探究Python基础语言的特点以及使用技巧。 一、数据类型 Python基础数据类型包括整数、浮点数、…

    编程 2025-04-28

发表回复

登录后才能评论