c++学习之路(第二天)
目前了解的语言Java、PHP、c、c++、c#,只有c是面向过程语言,也是我最喜欢的一种语言,因为他偏向于底层,万物起始底层(没有说其他语言都是c编译的,那么多钢精非要说:喜欢底层咋不去学汇编。我这暴脾气,只想一句 8366送给他)。
当初学习编程的时候,听老师讲过学会底层语言——c,学其他语言就会特别的容易,但是学完c++之后,我才感觉看其他语言的代码不是那么的困难,也许都是面向语言的特点吧,像Java、c++、C#,感觉特别的像,实例化对象,面向对象编程,封装类,函数重载。
从一般意义上讲,对象是现实世界中的客观事物,类是把具有相同概念属性的事物划分为一类 ,从而为得出抽象概念。
类定义
类是一种用户自定义的数据类型,它的一般定义格式如下:
class <类名>
{
private:
<私有数据成员和成员函数>;
protected:
<保护数据成员和成员函数>;
public:
<公有数据成员和成员函数>;
}
<各个成员函数的实现>;
定义类的函数成员的格式如下:
返回类型 类名::成员函数名(参数说明)
{
函数体(类的成员函数对类的数据成员进行操作,成员函数的定义体可以在类的定义体中)
}
※ 类的成员函数也可以另外定义,而在类定义时给出函数头。
结构是类的一种特例,在结构中也可以定义成员函数。定义结构时只要把关键字class 改为struct即可。
结构和类的唯一区别是:在未指定访问权限时,结构中的成员被默认为公有的而类中的成员被默认为私有的。在所有其他方面,类和结构等价。尽管类和结构是等价的,但一般在描述数据时使用结构,在描述数据及对数据的操作时用类。
由于类和结构是等价的,对类的五种操作对结构也同样适用:
对象之间可以相互赋值。
Location locationA,locationB;
locationA.init(5,6);
locationB=locationA;
locationB的数据成员和locationA的数据成员有相同的值。
对象可以作为数组的元素。
Location arrayloc[100];
arrayloc是以结构Location为元素的数组。
可以说明指向对象的指针,但不能取私有数据成员的指针或成员函数的地址。
Location location;
Location *pointLoc=&location;
当pointLoc被加1后,它将指向下一个Location对象。
对象可以作为函数的参数,既可作值参(不影响实参),也可以作引用参数。
void display(Location &location)
{ … };
location就是引用参数。
一个对象可以是另一个对象的成员。
注:为了使用类,还必须说明类的对象。在定义类时,系统是不会给类分配存储空间的,只有定义类对象时才会给对象分配相应的内存空间。
定义类对象的格式如下:
<类名><对象名表>;(总的来说就跟C语言中定义一个整型变量一样 int i; int就是类名,i就是对象名 ,多个对象可以用“,”隔开,在<对象名>中,可以是一般的对象名,还可以是指向对象的指针名或引用名,也可以是对象数组名。)
对象成员的访问方法: <对象指针名>-><成员名>(当成员是指针的情况下使用这个)
(*<对象指针名>).<成员名>
今天就到这,怎么创建类 、类成员(归属)、类成员函数,实例化对象,对象的访问方法。
请大家多多补充,发现问题请给我留言。一起进步!