构造函数初始化列表

目录

一.构造函数初始化列表的基本形式 

第一种: 

第二种: 

二.成员变量的初始化顺序只与成员变量在类中声明的顺序有关,与初始化列表中列出的变量的顺序无关


一.构造函数初始化列表的基本形式 

构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,
每个数据成员后面跟一个放在括号中的初始化式。

第一种: 

student(int m,int n):shengao(m),tizhong(n)
	 {
	 	cout<<"初始化"<

第二种: 

student():shengao(1.75),tizhong(100)
{//student接收传进来的两个数,然后将两个数分别赋值给shengao,tizhong 
                      //之后private中的shengao和tizhong就分别有值了 
    cout<<"初始化"<

代码举例:对应第一种
#include
using namespace std;
class student
{
	private:
		double shengao;
		int tizhong;
	public:
		student(double m,int n):shengao(m),tizhong(n)
		{//student接收传进来的两个数m和n,然后m赋值给shengao,n赋值给tizhong 
		//之后private中的shengao和tizhong就分别有值了 
			cout<<"初始化"<

代码举例:对应第二种
#include
using namespace std;
class student
{
	private:
		double shengao;
		int tizhong;
	public:
		student():shengao(1.75),tizhong(100)
		{//将两个数分别赋值给shengao,tizhong 
		//之后private中的shengao和tizhong就分别有值了 
			cout<<"初始化"<

二.成员变量的初始化顺序只与成员变量在类中声明的顺序有关,与初始化列表中列出的变量的顺序无关

//代码举例2:
#include
using namespace std;
class text
{
	private:
		int math;
		int English;
	public:
		text():English(90),math(English+10){}
//因为先声明的math,但是当把English+10的值赋给math的时候还不知道English,
//所以输出的math是个不确定的值(输出的math是个垃圾值)
//math初始化完了之后,初始English,把90赋给English,最后输出90 
		void print();//在此处声明print函数 
 } ;
 void text::print()//print函数是text类的一个函数 
 {
 	cout<

你可能感兴趣的:(面向对象编程c++,c++,蓝桥杯,开发语言)