#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstdlib>
#include<string>
using namespace std;
class Phone
{
public:
Phone(string name) :m_name(name) //初始化列表
{
cout << "Phone的构造函数调用" << endl;
};
~Phone()
{
cout << "Phone的析构函数调用" << endl;
}
string m_name;
};
class Person
{
public:
Person(string name, string phone_name) :m_name(name), m_phone(phone_name)
{ //此处m_phone为Phone类型,括号里却是字符串
//用到了隐式转换法
cout << "Person的构造函数调用" << endl;
};
~Person()
{
cout << "Person的析构函数调用" << endl;
}
string m_name;
Phone m_phone;
};
void test_1()
{
Person a("毕跃", "iPhone");
cout << a.m_name << "用着" << a.m_phone.m_name << endl;
}
int main()
{
test_1();
system("pause");
}
先有对象成员还是先有该对象
最新推荐文章于 2024-10-12 11:03:43 发布
本文介绍了C++中定义的Phone和Person类,展示了如何通过构造函数和析构函数进行实例化,并使用隐式转换将字符串转换为Phone对象。test_1函数展示了Person类的使用,以及如何访问其成员变量。
摘要由CSDN通过智能技术生成