c++(2)

任何一个对象都包括(属性,行为)
类是抽象的,不占用内存,而对象是具体的,占用内存
声明一个类类型:
声明一个结构体:

#include<iostream>
using namespace std;

class Student{
	public:
		string name = "liutong";
		//成员函数 声明 
		void play(); 
	private:
		int age;	
}stu3;

void Student ::  play(){
	cout << "我喜欢打篮球...";
}
struct person{
	string name = "zhaole";
}p;

int main(){
	//类的定义
	 Student stu;
	 class Student stu2; 
	//调用成员函数
	stu.play();
	stu2.play();
	stu3.play();
	cout << "person的name:" << p.name << endl;;
	//调用数据成员
	cout << "我的姓名是:" << stu.name; 
	return 0;
}

注意:在类中即不指定private ,也不指定public,则系统默认为私有的.
private : 私有的
public : 共有的
protected : 受保护的,不能被外部类访问
定义对象的方法:
(1)先声明类类型,然后定义对象;
class 类名字 对象名;如:stu2
类名字 对象名; 如:stu
(2)在声明类的同时定义对象,如:stu3
**注意:**直接定义对象不提倡使用,因为类的声明和使用往往是分开的,并且在定义对象时才给这个对象声明内存空间,而且,在c++ 中为了兼容c,可以用struct 声明类,不做private 或public 声明,默认是public 如:person类

类的成员函数
比如上述类中的play方法 语法
void Student :: play (){}
type 类名 作用域限定符 函数名 函数体

内置函数
类的成员函数也可以指定为内置函数,使用关键字inline 修饰
目的:为了减少时间的开销,如果在类中定义的成员函数不包括循环等控制语句,c++系统会自动将他们作为内置函数来处理
C++要求对一般的内置函数使用关键字inline 修饰,对内类定义的函数可以省略,但是对类外定义的要用inline 修饰

#include<iostream>
using namespace std;

class person{
	public:
	//类内定义函数可以省略inline 
	void play(){
		cout << "我是内置函数" << endl; 
	};
	//类内声明,要用inline修饰 
	inline void display();
	private :
		int name;
};

inline void person :: display(){
	cout << "我是类外定义的内置函数" << endl; 
}
int main(){
	person p;
	p.display();
	p.play();
	return 0;
}

对类成员的引用
(1)通过对象名和成员运算符访问对象的成员
(2)通过指定对象的指针来访问
(3)通过对象的引用来访问
例子:

#include<iostream>
using namespace std;

class person{
	public:
		string name = "haha";
};

int main(){
	//通过 对象名字和运算符号访问
	person p1;
	cout << "p1 name :" << p1.name << endl;
	//通过指向对象的指针引用
	person *p;
	p = &p1;
	cout << "通过指向对象的指针访问name :" << p->name << endl;
	//通过对象的引用访问
	person &pt = p1;
	cout << "通过对象的引用访问name :" << pt.name << endl; 
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值