Как создать объект в Си++ = c++ создание объекта , создание нового объекта c++ = агрегация классов c++

Я приведу здесь только часть кода, иллюстрирующего работу с классами в Си++.
В частности мы здесь создаём новый объект =

 Intel2000 * newcpu =new Intel2000("x86",3,123654); // СОЗДАНИЕ ОБЪЕКТА В(на)) СИ++ ))

(в контексте - смотрите код ниже)
а также всё более "навороченное" взаимодействие классов.

Смотрите полные рассуждения о решении данной задачи

/*далее опять пример паблик наследования
ЭТО КЛАСС УЖЕ КОНКРЕТНЙ МОДЕЛИ ПРОЦЕССОРА*/
class Intel2000 : public Intel // а вот уже некий конкретный проц от интел
{
public:	
Intel2000(char*,int,int); // конструктор для класса данной можели опишем снаружи

private:
   int id; // пусть серийный номер будет не публичен 
   // иные объекты описывающие компоненты компьютера 
   // не смогут узнать его))
};


// ну пора бы уже написать АГРЕГИРУЮЩИЙ КЛАСС - компьютер
/*здесь мы не будем демонстрировать наследование - просто напишем один 
класс, который продемонстрирует.*/
class PC
{
   public:
	  Mboard mboard;// судя заряжаем класс описывающий материнскую плату
	  Display display;// судя заряжаем класс описывающий материнскую плату
	 CPU cpu;// слот для устройства ввода 
	  // - указываем используемый конструктор

	 PC (Mboard mboard):cpu("x86",2) // "x86" и 2 - параметры по умолчанию  
		 /* для начала сборки компьютера
		в его конструктор достаточно просто передать объект "материская плата"
		причём любой модели 
		ВНИМАНИЕ!= после параметров конструктора идёт список инициаллизации-
		он необходим для всех членов-классов у которых
		нет конструктора "без аргументов" (= назв.- "конструтор по-умолчанию") 
		- такой (= "пустой"  -не принимающий аргументов)
		конструктор надо явно прописыть для всех классов,
		определяющих собственнный конструтор с параметрами.
		Если же конструтор по умлочанию отсутствует, то
		следует указать принимаемые аргументы в списке 
		инициаллизации -ч то и сделано выше для cpu =
		:cpu("x86",2)
		 */
	 {
		 PC::mboard=mboard; // закрепляем её))
         Intel2000 * newcpu =new Intel2000("x86",3,123654); // СОЗДАНИЕ ОБЪЕКТА В(на)) СИ++ ))
		 // далее переопределим те данные, 
		 //что были в списке инициализации и снабдим наш класс конкретным процессором
		  PC::cpu = *newcpu;// "прикручиваем" процессор - а вот и переопределение
		  // выше происходит замена одного указателя на другой - так как фактически 
		  // объект это указатель из несокльких байт
// cpu = newcpu; 
	 }
	 PC():cpu("x86",2) // всё-таки определим конструктор по-умолчанию
	 {
		  
	 }
	 void AddDisplay(Display display)
	 {
		 if (display.neededmem<=PC::mboard.msize)
			 {
				 PC::display=display;
				 showmess("OK","display was added to your PC =))");
		  }
		 else showmess("PC_ERROR","you haven't enough to add this display");
	 }
};