构造函数(不带参数)

源代码:

<span style="font-size:14px;">#include<iostream>
using namespace std;
class Grade  
{
	public:
		Grade(); 
		void Grade_cin();
	    void Grade_cout();
	private:
		int c;
		int php;
		int java;
 } ;
 Grade::Grade() 	
 {           
 		c=0; 
		php=0; 
		java=0; 
 } 
 void Grade::Grade_cin() 
 {
 	cin>>c>>php>>java;
   }  
 void Grade::Grade_cout()
 {
 	cout<<"c:"<<c<<"php:"<<php<<"java:"<<java<<endl;
 }
 int main()
 {
 	Grade p1;
 	p1.Grade_cin();
 	p1.Grade_cout();
 	Grade p2;
 	p2.Grade_cout();  
 	return 0; 
 }</span>
 注意:

①.定义一个类,需要说明的是,类本身是不占用储存空间的,只有定义了类对象时,才会给对象分配对应的储存空间;

②.构造函数,用这种函数来处理函数的初始化,构造函数本身是在建立对象的时候自动执行的,不需要用户去调用它,同时用户也调用不了它;

③.构造函数第一个Grade表示的是类名,第二个Grade表示的是构造函数名,C++规定,构造函数名必须要与类名同名;

④.在定义一个类时,系统会自动地执行构造函数,给所有的值赋上初值0,假如用户需要输入相关数据的值,则在后面通过赋值函数对变量的再赋值实现 ;

⑤.构造函数是必然存在的,假使用户自己没有定义构造函数,那么编译器也会自动地为用户生成一个构造函数,只是此时的构造函数的函数体是空的,不执行任何的操作;

⑥.构造函数的一个作用就是当没有通过赋值函数对其中的值赋初值的时候构造函数会提供一个默认的值给相关的变量,而这个变量是程序构造者提供的;

⑦.此类构造函数的引用主要是给有类中相关值的初始化,但是这个类中是必须要有一个赋值语句的(通过类中的赋值语句给类中的相关变量赋值时必须要有一个定义的构造函数,假如没有,是不能通过编译的)

你可能感兴趣的:(构造函数)