C++学习笔记1--类和对象

news/2024/7/4 1:09:42 标签: c++, string, 存储, class, 编译器, struct
class="baidu_pl">
class="article_content clearfix">
class="htmledit_views">

1.类成员默认的是private,一般为了明确,把private显式地写上了;

2.类与结构体作比较:struct成员默认的是public,结构体class="tags" href="/tags/CunChu.html" title=存储>存储纯粹的数据类型,并且这些数据类型没有私有的特性;

3.位于类定义里面的方法会自动成为inline。如果方法写在类的外面可以自己显式地声明为Inlie;内联函数可以被定义多次,而且必须在每次使用的时候都被定义。所以内联函数一般放在头文件。

4.一个类的每个对象都有自己的class="tags" href="/tags/CunChu.html" title=存储>存储空间,用来class="tags" href="/tags/CunChu.html" title=存储>存储数据成员,但是这些实例共享类的方法,也就是说类的方法只有一个副本;

5。一般情况下,将数据声明为私有,而函数声明为共有;

6.如果自定义了构造函数,则class my_class;会报错。除非将默认的构造函数写出来;

7.析构函数是自动调用的。

8.抽象数据类型:ADT

9.使用构造函数的几种方式:

比如Bank::Bank(class="tags" href="/tags/STRING.html" title=string>string name,class="tags" href="/tags/STRING.html" title=string>string zhanghao,double total)
{
    m_costomerName=name;
    m_zhanghao=zhanghao;
    m_total=total;
}

Bank myBank("zhangying","2008201549",7000.89);//隐式

Bank myBank=Bank("zhangying","2008201549",7000.89);//显式

Bank *myBank=new Bank("zhangying","2008201549",7000.89);

注意:在我的编译器里面,这两种方式调用析构函数的情况不一样————

(1)Bank myBank("zhangying","2008201549",7000.89);//隐式

析构函数在代码执行完才调用

(2)Bank myBank=Bank("zhangying","2008201549",7000.89);//显式

构造函数创建了一个临时对象,将临时对象赋值给myBank,所以在程序开始的时候竟然还调用了一次析构函数。

C++真有趣啊!

10.void show() const;这是什么意思?

意思是保证该成员函数不会修改调用的对象的值。

一般情况下,只要函数不修改被调用对象的值,就应该加上const


http://www.niftyadmin.cn/n/1187046.html

相关文章

Torque2D MIT 学习笔记(17) ---- 如何遍历与查询资源

问题 如何对资产进行模糊查询和精确查询. 精确查询 %assetId "ToyAssets:Crosshair2"; // Acquire the asset object itself. %asset AssetDatabase.acquireAsset( %assetId ); // Do some work with it. echo( %asset.ImageFile ); // Release the a…

C++学习笔记2--使用类

1.如果一段代码中只是使用了std里的很少的一部分函数时&#xff0c;就可以不必在开头时候导入整个std&#xff0c;可以用例如std::cout<<的方式使用&#xff1b; 2.参数声明为引用的目的是提高效率&#xff0c;比如Sum(Time &t),本来可以直接传值的&#xff0c;但引…

Java 类加载过程

Class的生命周期 一个Class在虚拟机中的完整生命周期如下图所示&#xff1a; 需要说明的是&#xff0c;上述的流程只是描述了逻辑上各个阶段的开始顺序&#xff0c;实际过程中&#xff0c;各个阶段可能是交错进行&#xff0c;并不是一个阶段等到另一个阶段完全完成才开始执行。…

C++学习笔记3---类和动态内存分配

1.类中的静态成员static的特点是&#xff1a;无论创建了多少对象&#xff0c;都只创建一个static变量的拷贝。所有对象共享一个static. 2.如果用new[]来分配内存&#xff0c;那一定要用delete []来释放内存&#xff1b; 3.释放对象可以释放对象本身占用的内存&#xff0c;但是…

研究项目笔记

1.入口函数&#xff1a;AdminWeb:启动&#xff0c;停止web服务器 RunService(argc,argv,NULL,SZSERVICEDISPLAYNAME,SZDEPENDENCIES); 2.解析XML&#xff1a;LoadWindow("main.xml"),注意lpWindow这个结构体。此函数就是对这个结构体的各个元素赋值&#xff1b; 先…

首页

这是我的新模板转载于:https://www.cnblogs.com/whereis2/p/11174975.html

多线程事务控制

spring无法对多线程进行事务控制&#xff0c;原因是&#xff1a; 多线程底层连接数据库的时候&#xff0c;是使用的线程变量&#xff08;TheadLocal&#xff09;,所以&#xff0c;开多少线程理论上就会建立多少个连接&#xff0c;每个线程有自己的连接&#xff0c;事务肯定不是…

C++学习笔记4-----类的继承基础概念

1 类为什么要引入继承机制&#xff1f;简单地说&#xff0c;道理如同你继承一笔财产&#xff0c;总比让你白手起家容易很多。 2 通过继承可以完成哪些事情&#xff1f;1。在已有类的基础上添加新功能2。添加新数据3。修改父类方法。 3. 派生类不能直接访问基类的私有成员&a…