инициализация по умолчанию, инициализация значения и инициализация объекта в классе не выполняются должным образом? [закрыто]
Вам может показаться, что код длинный, и я пишу много вещей, но поверьте мне, это довольно просто.
Я сослался на эти два ответа на переполнение стека, чтобы понять это. post1 и post2
Код
#include <iostream>
class A
{
public:
int k1=3;
float f1=34.20;
char ch1='a';
std::string str1="bonaparte";
void display()
{
std::cout<<k1<<" "<<f1<<" "<<ch1<<" "<<str1<<" xx\n";
}
};
class B
{
public:
int k2;
float f2;
char ch2;
std::string str2;
void display()
{
std::cout<<k2<<" "<<f2<<" "<<ch2<<" "<<str2<<" xx\n";
}
};
A a1;
B b1;
A *p1=new A;
B *q1=new B;
int main()
{
A a2, a3{};
B b2, b3{};
A *p2=new A;
A *p3=new A{};
A *p4=new A();
B *q2=new B;
B *q3=new B{};
B *q4=new B();
a1.display();
a2.display();
a3.display();
p1->display();
p2->display();
p3->display();
p4->display();
std::cout<<"\n\n";
b1.display();
b2.display();
b3.display();
q1->display();
q2->display();
q3->display();
q4->display();
}
Выход
3 34.2 a bonaparte xx
3 34.2 a bonaparte xx
3 34.2 a bonaparte xx
3 34.2 a bonaparte xx
3 34.2 a bonaparte xx
3 34.2 a bonaparte xx
3 34.2 a bonaparte xx
0 0 xx
13965136 0 ╠ xx
0 0 xx
38872208 0 p xx
38872208 0 p xx
0 0 xx
0 0 xx
Класс B
- инициализированное значение инициализировано точно нулевым значением.
по умолчанию инициализировано означает, что не инициализировано.
инициализированная скобка означает инициализированное значение, которое приводит к инициализации нуля.
Я не умею создавать
Я думаю, что значение должно быть инициализировано, но после просмотра вывода оно не соответствует тому, что я думаю.
по умолчанию инициализировано означает, что не инициализировано.
инициализированная скобка означает инициализированное значение, которое приводит к инициализации нуля.
вызывает конструктор, но не существует определяемого пользователем конструктора, поэтому он должен быть инициализирован по умолчанию, что означает отсутствие инициализации.
Я знаю,,, являются указателем, но для простоты я использую вышеупомянутый язык, например. инициализируется скобка. но я думаю, вы понимаете, о чем я.
Во что я верю,
Касательно , , ,
что я предполагаю для
Касательно
Теперь есть путаница с
Класс А
Поэтому, если мы выполняем инициализацию в классе, независимо от того, где мы объявляем объект, он будет инициализироваться тем, что мы предоставляем, я считаю, что это правильно, но просто хочу подтвердить и, пожалуйста, добавьте, если вы хотите рассказать мне немного об этом.