(初学)类和对象及各种定义3

继续学习(挣扎?)
今天内容有 友元(类)对象为指针时的tips
哈 就这些 都是定义及实现

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>

using namespace std;
class data2;
class data1{
	friend class data2;//或者不加calss friend data2 表示data2中要调用data1中的私有成员和保护成员
public:
	data1() : x(1){cout << "constructor1 x = " << x << '\n';}
private:
	int x;
};
class data2{
	//friend class data1; 此句表示data1要调用data2的私有成员和保护成员
public:
	data2() : y(2) {cout << "constructor2 y = " << y << '\n';}
	void get_data1(const data1& t);
private:
	int y;
};
void data2 :: get_data1(const data1& t){//友元类功能体现 传参data1的一个对象 调用此data1对象的私有成员和保护成员
	cout << "x = " << t.x << '\n';return;
}
int main(){
	data1 a,* p;//在定义*p指针时 并不调用构造函数 因为没有给指针分配内存
	p = new data1;//用new函数给指针分配内存并构造对象 此时会调用构造函数进行初始化
	delete p;//释放指针
	data2 b;
	b.get_data1(a);
	return 0;
}

Over.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值