c++
jjdexiao521
这个作者很懒,什么都没留下…
展开
-
c++学习--成员的访问控制说明
定义类时,虽然public private 或protect的成员的次序任意。但在实际编程中,更常见把具有相同的访问控制属性的成员集中在一起写,且每一种成员访问限定符在类体中出现一次,且按照public protected,private 顺序组织,形成访问权限层次分明的结构。尽量将类的成员函数实现放在类的外边实现。如果是4-5行,则放在类体数据成员+成员函数 class point{ pu原创 2017-09-15 21:39:23 · 241 阅读 · 0 评论 -
c++类作用域,对象生命期,const限定1
类的作用域 同变量、函数一样,类也有自己的作用域。每个类都定义了自己的作用域和唯一的类型。在类体内声明类成员,将成员名引入类的作用域中。两个不同的类具有两个独立的类作用域。即使两个类具有完全相同的成员列表,它们也是不同的类型。每个类的成员不同于任何其他类的成员。class A { public: int i; double d; };class B { public...原创 2017-12-07 20:14:41 · 564 阅读 · 0 评论 -
关于c++和C的getXXX系列函数
1,C scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别。 scanf :遇到回车,空格和tab键会都会认为输入结束并自动在字符串后面添加’\0’,但是回车,空格和tab键仍会留在输入的缓冲区中。scanf()可以读取所有类型的变量 gets:可接受回车键之前输入的所有字符,并用’\0’替代 ‘\n’.回车键不会留在输入缓冲区中,gets()用到读取字符串,用回车结原创 2017-12-14 20:45:49 · 2874 阅读 · 0 评论 -
静态成员
1.静态数据成员 可以定义类的静态成员,能够实现同类的多个对象之间数据共享。使用类的静态成员的优点是: ①静态成员的名字是在类的作用域中,因此可以避免与其他类的成员或全局对象名字冲突; ②静态成员可以实施封装,可以是私有成员,而全局对象不可以。 ③静态成员是与特定类关联的,结构清晰。 静态数据成员是类的一种特殊数据成员,它以关键字static开始, 声明形式为: c原创 2017-12-11 19:51:15 · 5440 阅读 · 0 评论 -
c++基础入门构造函数的重载和带默认参数
构造函数的重载 在一个类中可以定义多个构造函数版本,即构造函数允许被重载,只要每个构造函数的形参列表是唯一的。一个类的构造函数数量是没有限制的。一般地,不同的构造函数允许建立对象时用不同的方式来初始化数据成员。#include<iostream>using namespace std;class Point{ public: Point(){x=y=0;}//无参数的原创 2017-12-03 10:49:50 · 2076 阅读 · 0 评论 -
c++构造函数
建立一个对象时,通常最需要立即做的工作是初始化对象,如对数据成员赋初值。构造函数就是用来用来在创建对象时初始化对象, 为对象数据成员赋初始值。 类的数据成员是不能在类定义时初始化的。原因是类定义并没有产生一个实体,而是给出了一个数据类型,不占用存储空间,因而也无处容纳数据。 如果一个类中所有的数据成员是公有的,则可以在定义对象时对数据成员进行初始化,如果类中的数据成员是私有的,如private的原创 2017-12-02 22:32:54 · 953 阅读 · 0 评论 -
c++的cout输出控制符
首先看一下下边的代码 cout原创 2017-12-01 22:21:17 · 2024 阅读 · 0 评论 -
c++对象成员的引用,对象的赋值,对象指针或对象引用
访问对象中的成员可以有3种方法:①通过对象名和对象成员引用运算符(.)访问对象中的成员; 访问对象中数据成员的一般形式为: 对象名.成员名class Data {public : int data; void fun(int a,int b,int d);//函数实现在外部private : void add(int m) { data +原创 2017-12-01 21:46:45 · 8350 阅读 · 0 评论 -
对象数组和对象指针
对象数组的定义和使用 可以简单的理解类就是我们自定义的数据类型,而对象就是类的实例,因此我们也可以构造对象数组和对象的指针。将具有相同类类型的对象有序地集合在一起便构成了对象数组,以一维对象数组为例,其定义形式为: 类名 对象数组名[常量表达式]; 一维对象数组有时也称为对象向量,它的每个元素都是相同类类型的对象。例如表示平面上若干个点,可以这样定义 Point points[100];//原创 2017-12-08 23:32:08 · 338 阅读 · 0 评论 -
C++基础(和类有关2)对象的定义
一 对象的定义 定义一个类时,也就是定义了一个具体的数据类型。若要使用类, 需要将类实例化,即定义该类的对象。 1.先定义类类型再定义对象 有两种定义对象的形式: ①将类的名字直接用作类型名: 类名 对象名列表 ②指定关键字class或struct,后面跟着类的名字: c原创 2017-11-28 22:47:19 · 251 阅读 · 0 评论 -
C++基础(动态分配内存)2
一.new与delete c++内存分配的两种方式:静态分配和动态分配 静态分配是在编译时分配相应的存储空间,因为是在编译时分配,要求编译时空间大小明确,数组长度必须为常量,一旦编译完成,这个数组的长度就是固定不变的。 动态分配是程序运行期间根据实际需要动态申请或释放内存。它不需要预先分配存储空间,分配的空间可以扩大或缩小 使用ma原创 2017-11-12 15:00:46 · 308 阅读 · 0 评论 -
C++基础(和函数有关1)1
函数的设计 默认参数返回类型 函数名(类型 默认类型名=默认值){函数体}int add(int x=5 y=5){return x+y;}1.要不在声明中设置,要不在函数定义时设置默认参数2.可以设置多个默认参数,但是设置顺序必须为自右向左,就是其右边的所有参数必须都已经设置了默认参数,默认参数可以是常量,全局变量,甚至是一个函数的调用(调用实参必须是常量或者全局变量的表达原创 2017-11-06 22:57:41 · 130 阅读 · 0 评论 -
析构函数的定义
1.析构函数的定义 析构函数:当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统会自动执行析构函数。析构函数往往用来做“清理善后”的工作(例如在建立对象时用new开辟了一段内存空间,则在该对象消亡前应在析构函数中用delete释放这段存储空间)。 C++规定析构函数的名字是类名的前面加一个波浪号(~)。其定义形式为: ~类名(){ 函数体 } 析构函数不返回任何值,没有返回类型,也原创 2017-12-07 22:02:33 · 24723 阅读 · 3 评论