C++ string&类和对象&数据的封装
来源:互联网 发布:php工程师工作内容 编辑:程序博客网 时间:2024/06/11 07:57
因为char类型的麻烦,我们可以使用string类型来实现一些功能:
string类型:(初始化string对象的方式)
string s1 s1为空串
string s2(“ABC”) 用字符串字面值初始化s2
string s3(s2) 将s3初始化为s2的一个副本
string s4(n,’c’) 将s4初始化为字符串‘c’的n个副本
好用的一些功能:
s.empty()
s.size()
s[n]
s1+s2
s1 = s2
v1 == v2
v1 != v2
=======================================================
定义一个类:
class 类名(类名一般用英文全拼,不要简写)
对象是类的一些功能,如定义一个student类,里面就可以包含姓名,年纪。。。等等一些数据成员
class student{public: // 定义数据成员名字 m_strName 和年龄 m_iAge string m_strName; string m_iAge;};
实例化对象通过栈的形式:
student stu;
通过堆的形式:
student *p=new student( )if(NULL == p){ return 0; //申请失败}.........delete p;p = NULL;
设置对象的数据成员:
栈的形式使用 .调用
堆的形式使用 ->调用
=========================================
面向对象的基本思想围绕的是:谁做什么来表达程序的逻辑,体现在代码方面就是将所有的数据操作转化为成员函数的调用,换句话说就是对象在程序中的所有行为都通过调用自己的函数来完成。
通过函数封装数据成员:(例如student)
class student{public: void setAge(int _age) {m_iAge = _age} int getAge() {return m_iAge;}private: string m_strName; int m_iAge; }//注意命名方式//类中定义时命名规则为m_数据类型+名字//类中函数形参为_名字
ex:
定义一个Student类,包含名字一个数据成员,使用get和set函数封装名字这个数据成员。在main函数中通过new实例化对象,并打印其相关函数。
#include <iostream>#include <string>using namespace std;/** * 定义类:Student * 数据成员:m_strName * 数据成员的封装函数:setName()、getName() */class Student{public: // 定义数据成员封装函数setName() void setName(string _name) { m_strName = _name; } // 定义数据成员封装函数getName() string getName() { return m_strName; }//定义Student类私有数据成员m_strNameprivate: string m_strName;};int main(){ // 使用new关键字,实例化对象 Student *str = new Student(); // 设置对象的数据成员 str->setName("慕课网"); // 使用cout打印对象str的数据成员 cout << str->getName() <<endl; // 将对象str的内存释放,并将其置空 delete str; str = NULL; return 0;}
**写函数记得写类型啊!!!无返回值就写void有就写要返回的类型!!!要记得
- C++ string&类和对象&数据的封装
- C风格字符串和C++string对象的相互转化
- C风格字符串和C++string对象的相互转化
- c++类和类的封装,对象线程封装
- 自动拆箱&自动装箱以及String 和基本数据类型封装类生成的对象是否相等
- 黑马程序员-Object-C封装,和对象.类方法,self关键字的用法总结
- c/c++学习_封装(类和对象)
- 在C语言怎样对数据和操作的封装
- C/C++的字符串和JAVA的String对象
- C++string对象和字符串字面值的连接,+操作
- string对象和C字符串之间的转换
- String对象和C字符串之间的转换
- string对象和C风格代码的混用
- C语言 字符串和C++ string对象的相互转化
- java基本类型、String、封装类的存储和比较
- String 和 封装类 的传值方法
- C用面向对象的方法封装矩阵类
- 计算机程序设计(C++)第10周编程作业数据的抽象和封装——类(2)——构造函数、析构函数和指向对象的指针
- 2017年小目标
- leetcode -- 222. Count Complete Tree Nodes【子问题划分】
- mysql事务处理用法与实例详解
- 历届试题 小朋友排队 树状数组求逆序对
- 序记
- C++ string&类和对象&数据的封装
- 程序设计与C语言学习笔记_第十章编译预处理与位运算
- Thymeleaf的文本操作
- 160 - 11 Andrnalin.4
- 面试总结
- 寒假篇31
- 04-S3C2440学习之自己写bootloader
- 设计模式
- 第一阶段学习测试题