构造函数(带有参数的)

来源:互联网 发布:子曰学而时之不亦说乎 编辑:程序博客网 时间:2024/05/17 02:40

源代码:

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

 ①.无参数的构造函数针对的是没有输入函数的类而言的,它输入值的方法是通过对构造函数的初始化实现的,而且这个初始化必须是在对象定义的时候进行;

 ②.构造函数的初始化中实参必须与形参一一对应,且必须要实参的个数与形参的个数是一致的,如果不是一致的话编译时通过不了的;

 ③.还可以通过参数初始化表的格式对数据成员进行初始化,例如本题中的构造函数可以改为这种形式:Grade::Grade(int a,int b,int c):[c(a),php(b),java(d)]{},其中方括号是可有可不有的,大括号则是对数组的赋值;

 ④.对数组初始化:

class Grade{public:Grade(char mam[],int a,int b,int d):c(a),php(b),java(d){strcpy(name,mam);}private:char name[20];int c;int php;int java;}



0 0