【VC开源代码栏目提醒】:网学会员,鉴于大家对VC开源代码十分关注,论文会员在此为大家搜集整理了“CopyConstructor.cpp”一文,供大家参考学习!
// CopyConstructor.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <string.h>
class CBook //定义一个CBook类
{
public:
char m_BookName[128]; //定义数据成员m_BookName
const unsigned int m_Price; //定义数据成员m_Price
int m_ChapterNum; //定义数据成员m_Chapter
CBook() //定义默认构造函数
:m_Price(32),m_ChapterNum(15) //初始化数据成员
{
strcpy(m_BookName,"大学英语");
printf("构造函数被调用\n"); //输出信息
}
CBook(const CBook &book) //定义复制构造函数
:m_Price(book.m_Price) //初始化数据成员
{
m_ChapterNum = book.m_ChapterNum; //复制m_ChaperNum成员数据
strcpy(m_BookName,book.m_BookName); //复制m_BookName成员数据
printf("复制构造函数被调用\n"); //输出信息
}
};
void OutputBookInfo(CBook book) //定义一个函数,以CBook类对象为参数
{
printf("%s\n",book.m_BookName); //输出m_BookName成员数据
}
int main(int argc, char* argv[])
{
CBook book; //定义一个CBook类对象book
OutputBookInfo(book); //调用OutputBookInfo方法
return 0;
}