一个月学习C++笔记(五)

C++/面向对象编程入门:
#include <iostream>
using namespace std;
class test
{
public://这里存放定义变量和函数等等
	//test();//构造函数
	float score;
	int rp()
	{
		return number;
	}
	void setnum(int a)
	{
		number=a;
	}


	//~test();//析构函数
private:
	int number;


	/* data */
};
int main(int argc, char const *argv[])
{
	test a;//定义一个对象
	a.score=10;//对public里面的值进行赋值
	cout<<a.score<<endl;
	a.setnum(100);//通过公有成员函数setnum()间接对私有成员进行number进行赋值操作
	cout<<a.rp()<<endl;
	return 0;
}


上述例子可以看出一个类中的 public 成员中的函数和变量可以随意访问,但是 private中的变量
则不可以访问,但是可以通过public中的成员变量间接引用,从而可以访问private中的变量对于引用类里面的变量则需要定义个对象来进行操作,用.符号进行引用
#include <iostream>
using namespace std;
int pp=0;
class test
{
public:
	float score;
	int pp;
	void rp();
private:
	int number;
	//test(arguments);
	//~test();


	/* data */
};
void test::rp()
{
	::pp=11;//变量名前增加域分符号给全局变量进行赋值
	pp=100;//设置结构体变量
}
int main(int argc, char const *argv[])
{
	test a;
	test b;
	a.rp();
	cout<<pp<<endl;
	cout<<a.pp<<endl;
	/* code */
	return 0;
}

结果为11和100,可以说明::起到控制作用域的效果
C++/函数的析构,与构造函数,每个类必须有默认构造函数,没有构造函数就没有创建对象
#include <iostream>
using namespace std;
class student
{
public:
	student()
	{
		number=1;
		score=100;
	}
	//~student();
	void show();
protected:
	int number;
	int score;
	/* data */
};
void student::show()
{
	cout<<number<<"|"<<score<<endl;
}
int main(int argc, char const *argv[])
{
	student a;
	a.show();
	cin.get();
	return 0;
}

由此可以看出每次定义类都会自动执行构造函数,同时构造函数也可以带参形成构造函数
析构函数是特殊的类成员函数,它没有返回值,没有参数,不能随意调用,也没有重载,只有在类对象的生命期结束的时候才会自动调用,构造函数可以进行重载。
#include <iostream>
using namespace std;
class student
{
public:
	student()
	{
		director=new char[10];
		strcpy(director,"wangdali");
	}
	~student()
	{
		cout<<"shifangduiqu"<<endl;
		delete[]director;
		cin.get();
	}
	char *show();
protected:
	char *director;


	/* data */
};
char *student::show()
{
	return director;
}

如果觉得文章还行的话,请在这下面三个网站随便注册,忽略网站内容,为了谋生。谢谢,邮箱可以随便填写。

1755414.i329.com

1755414.ik34.com

1755414.live173.com


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值