当类中定义了其他类对象时,它的构造函数很有意思,请看:
#include <iostream>
using namespace std ;
class hardware
{
private:
char *CPU ;
public:
hardware(char *) ;
void print() ;
} ;
hardware::hardware(char *cpu)
{
CPU = cpu ;
}
void hardware::print()
{
cout << "CPU: " << CPU << endl ;
}
class software
{
private:
char *OS ;
public:
software(char *) ;
void print() ;
} ;
software::software(char *os)
{
OS = os ;
}
void software::print()
{
cout << "OS: " << OS << endl ;
}
class computer
{
private:
char *producer ;
hardware HW ;
software SW ;
public:
computer(char *producer, char *CPU, char *OS) ;
void print() ;
} ;
//构造函数
computer::computer(char *producer, char *CPU, char *OS):HW(CPU),SW(OS)
{
this->producer = producer ;
}
void computer::print()
{
cout << "producer: " << producer << endl ;
HW.print() ;
SW.print() ;
}
int main()
{
computer obj("Apple", "X86", "Mashintosh") ;
obj.print() ;
return 0 ;
}
输出:
producer: Apple
CPU: X86
OS: Mashintosh
转载于:https://blog.51cto.com/5372221/909749