CPP学习笔记
1、 类和对象的特性
对象具有静态特征和动态特征 ,分别称为属性与行为。外界想对象发送信息称为“消息”。对象一般由一组属性与行为构成,在CPP种每一个对象都是由数据与函数构成。 数据体现了其属性,而函数是用来对数据进行操作以实现某些功能。
2、CPP中的类与对象的关系
CPP中的对象的类型是类(class)。类代表了某一批对象的共性与特征,类是对象的抽象,二对象是类的具体实例(instance)。
3、声明类的类型
class student
{
private:
int num
;
char name
[20];
char sex;
public:
void display()
{
cout
<<"num:"<<num
<<endl
;
cout
<<"sex:"<<sex
<<endl
;
cout
<<"name:"<<name
<<endl
;
}
};
student stud1
,stud2
;
总结下 class name { private: 私有的数据和成员函数; public: 公用的数据与成员函数; }; 其中public和private被成为成员访问限定符。被声明为private的成员只能被本类的成员函数引用,类外不能调用(友元类除外),而public既可以被本类的成员函数引用也可被类的作用域内的其他函数引用。 也就是说你只能利用类内函数操作的private内的数据
4、定义对象的方法
1、先声明类型,然后再定义对象
(1)class 类名 对象名; class student stud1,stud2; (2)类名 对象名; student stud1,stud2;
2、在声明类的同时定义对象
class student
{
public:
void display()
{
cout
<<"num:"<<num
<<endl
;
cout
<<"sex:"<<sex
<<endl
;
cout
<<"name:"<<name
<<endl
;
}
private:
int num
;
char name
[20];
char sex;
}stud1
,stud2
;
3、不出现类名,直接定义对象
class
{private:
{}
public:
{}
}stud1
,stud2
;
4、类和结构体类型的异同
struct student
{
private:
int num
;
char name
[20];
char sex;
public:
void display()
{
cout
<<"num:"<<num
<<endl
;
cout
<<"sex:"<<sex
<<endl
;
cout
<<"name:"<<name
<<endl
;
}
};
student stud1
,stud2
;
其实完全可以用struct声明一个类 cpp内保存了这种方式 区别是 用struct声明的类如果对其成员不作private或public的声明,系统将其默认为public,而用class则相反
4、在类外定义成员函数
成员函数简单说明
struct student
{
private:
int num
;
char name
[20];
char sex;
public:
void display()
};
void student
:: display()
{
cout
<<"num:"<<num
<<endl
;
cout
<<"sex:"<<sex
<<endl
;
cout
<<"name:"<<name
<<endl
;
}
student stud1
,stud2
;
5、内置成员函数(inline成员函数)
如果类体种定义的成员函数种不包括循环等控制结构,CPP系统会自动地对它们自动作为内置函数进行处理。但是如果是在类外声明成员函数
6、成员的储存方式(inline成员函数)
一个类对象所占空间大小只取决于该对象中的数据成员所占的空间,与成员函数无关不论是否使用inline,inline只与程序的执行效率,而与成员函数是否占用存储空间无关
7、 通过对象名和成员运算符访问对象中的成员
若要访问公用数据成员,则语法为 对象名.成员名
8、类和对象的简单应用
#include<iostream>
using namespace std
;
class rectangle
{
public:
int input();
int volume();
private:
int length
;
int width
;
int height
;
};
int main()
{
rectangle t1
;
t1
.input();
t1
.volume();
rectangle t2
;
t2
.input();
t2
.volume();
rectangle t3
;
t3
.input();
t3
.volume();
}
int rectangle
::volume()
{
int t
;
t
= length
* width
* height
;
cout
<< "volume is " << t
<< endl
;
cout
<< "Done" << endl
;
return 0;
}
int rectangle
::input()
{
cin
>> length
;
cin
>> width
;
cin
>> height
;
return 0;
}