CPP学习笔记(1)

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;	//定义了两个student类的对象
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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值