C++声明一个类变量,会自动创建一个类对象,无需像java一样需要调用new,写了个demo做了验证:
//child.h
#include "Parent.h"
class Child:private Parent
{
public:
int a;
Child();
~Child();
};
//child.cpp
#include "stdafx.h"
#include "Child.h"
#include <iostream>
using namespace std;
Child::Child(){
cout<<"contructor child"<<endl;
}
Child::~Child(){
}
//parent.h
class Parent{
public:
Parent();
~Parent();
void pLog();
};
//parent.cpp
#include "stdafx.h"
#include "Parent.h"
#include <stdio.h>
#include <iostream>
using namespace std;
void Parent::pLog(){
cout<<"this is Parent"<<endl;
}
Parent::Parent(){
cout<<"constructor Parent"<<endl;
}
Parent::~Parent(){
}
// ConsoleApplication5.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "Child.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
Child child;
child.a = 1;
cout<<"child.a:"<<child.a<<endl;
getchar();
return 0;
}
Child child;会调用Child类的构造函数,系统会为该对象分配内存,而java必须要使用Child child = new Child()的方式才会创建Child对象