c++核心技术10(类和对象)

本文详细介绍了C++中构造函数的使用方法,包括默认构造函数和带参数构造函数的初始化过程,并通过实例展示了如何在类中初始化成员变量。此外,还探讨了命名空间的概念及其在解决命名冲突方面的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.使用构造函数进行初始化操作

#include <iostream>
using namespace std;
class CPerson
{
public:
	CPerson();
	CPerson(int ilndex, short m_shAge, double m_dSalary);
	int m_ilndex;
	short m_shAge;
	double m_dSalary;
	int getlndex();
	short getAge();
	double getSalary();

};
//在默认构造函数中初始化
CPerson::CPerson()
{
	m_ilndex = 0;
	m_shAge=10;
	m_dSalary=1000;
}
//在带参数的构造函数中初始化
CPerson::CPerson(int ilndex, short m_shAge, double m_dSalary)
{
	m_ilndex = ilndex;
	m_shAge = m_shAge;
	m_dSalary = m_dSalary;
}
int CPerson::getlndex()
{
	return m_ilndex;
}
//在main函数中输出类的成员值
void main()
{
	CPerson p1;
	cout << "m_ilndex is:" << p1.getlndex() << endl;
	CPerson p2(1,20,1000);
	cout << "m_ilndex is:" << p2.getlndex() << endl;
	system("pause");
}

结果:
在这里插入图片描述

2.Person.h Person.cpp main.cpp
a.类的声明person.h

#pragma once
//#include <stdio.h>
//#include <stdlib.h>
//#include <string.h>
//定义CPerso类
class CPerson
{
public:
	CPerson();
	CPerson(int ilndex, short m_shAge, double m_dSalary);
	int m_ilndex;
	short m_shAge;
	double m_dSalary;
	int getlndex();
	short getAge();
	double getSalary();

};

b.类的执行person.cpp

#include <iostream>
#include "Person.h"
using namespace std;
//在默认构造函数中初始化
CPerson::CPerson()
{
	m_ilndex = 0;
	m_shAge = 10;
	m_dSalary = 1000;
}
//在带参数的构造函数中初始化
CPerson::CPerson(int ilndex, short m_shAge, double m_dSalary)
{
	m_ilndex = ilndex;
	m_shAge = m_shAge;
	m_dSalary = m_dSalary;
}
int CPerson::getlndex()
{
	return m_ilndex;
}

c.main.cpp

#include <iostream>
#include "Person.h"
using namespace std;


//在main函数中输出类的成员值
void main()
{
	CPerson p1;
	cout << "m_ilndex is:" << p1.getlndex() << endl;
	CPerson p2(1,20,1000);
	cout << "m_ilndex is:" << p2.getlndex() << endl;
	system("pause");
}

结果:
在这里插入图片描述

3.定义命名空间

#include <iostream>
using namespace std;

namespace MyName1                //定义命名空间
{
	int iValue = 10;
};
namespace MyName2                //定义命名空间
{
	int iValue = 20;
};
int iValue = 30;                 //全局变量
void main()
{
	cout << MyName1::iValue << endl;     //引用MyName1命名空间中的变量
	cout << MyName2::iValue << endl;     //引用MyName2命名空间中的变量
	cout << iValue << endl;

	system("pause");

}



结果:
在这里插入图片描述

4.使用using namespce语句

#include <iostream>


namespace MyName                //定义命名空间
{
	int iValue = 10;
};
using namespace std;
using namespace MyName;         
void main()
{
	
	cout << iValue << endl;
	system("pause");

}



结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌萌松

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值