-
初始化列表查看全部
-
构造函数还可以给参数赋默认值 但是参数都有默认值时 不能与无参的构造函数区分 在实例化一个无参的对象使会出现错误 构造函数是对数据进行初始化查看全部
-
内存分区:<br> 1.栈区:以int a = 0;为例,系统自动释放内存<br> 2.堆区:以new运算符开辟的空间为例子,并且要手动释放内存<br> 3.常量区:存储一些字符常量的存储单元<br> 4.代码区:存储高级语言被编译后变成二进制后,存储逻辑代码的二进制的存储单元 5.全局区:存储全局变量和静态变量的区域。查看全部
-
构造函数查看全部
-
构造函数查看全部
-
内存分区查看全部
-
封装成员函数步骤: 1、先写关键字pullic,private; 2、然后在private中定义全部成员。//加上类型符号string或者int之类的识别符,记得加头文件#include. 3、再写public中罗列所有声明的成员函数: void setName(string name); string getName(); ..... 4、开始内外定义: void "类"::setName(string name) { //把priavte的成员逐个写进去//"成员" = "_同等成员名称" } string "上述成员"::getName() { return "上述成员";//用来实现 } 5、在主函数中使用,实例化对象。 声明一下成员对象的首地址,如: Teacher t;// t关键字入口 通过"."访问 关键字.对象(初始化);如:t.setName("孔子"); ....//所有数据 6、输出所有成员//cout<<"成员"<<....<<endl; 7、开始调试查看全部
-
string类型危险操作查看全部
-
string类型常用操作符查看全部
-
内联函数查看全部
-
#include<iostream> #include<stdlib.h> #include<string> using namespace std; class Student { public: //pubulic 一般写到前面 void setName(string _name) { m_strName=_name; } string getName() { return m_strName; } void setGender(string _gender) { m_strGender=_gender; } string getGender() { return m_strGender; } int getScore() { return m_iScore; } void initScore() { m_iScore = 0; } void study(int _score) { m_iScore += _score; //m_iScore = _score+m_iScore } private: string m_strName; string m_strGender; int m_iScore; }; int main() { Student sorgs; sorgs.initScore(); //首先初始化 sorgs.setName("sorgs"); //定义姓名 sorgs.setGender("男"); //定义男性 sorgs.study(5); //学习5分的课程 sorgs.study(3); cout << sorgs.getName() <<" " <<sorgs.getGender() <<" " <<sorgs.getScore() <<endl; system("pause"); return 0; }查看全部
-
面向对象编程: 以“谁做什么”来表达程序的逻辑,将所有数据的操作转化为成员函数的调用,换句话说,对象在程序中的所有行为都通过调用自己的函数来完成。 封装的好处: 能做到让数据只能读不能写(权限控制);防止非法的赋值。 1.建议访问限定符的public写在private前面,这样在访问类时可以节省时间。 2.“只读”权限:只能读不能写,在封装的时候只定义读取函数,不定义赋值(改值)函数。 3.建议定义私有成员时命名为 m_数据类型+成员名(首字母大写) m是member的意思 如:string m_strName 以便区分数据成员查看全部
-
6 66查看全部
-
String 类型查看全部
-
栈喝堆 对象访问成员方式查看全部
举报
0/150
提交
取消