{"id":8750,"date":"2022-09-15T08:46:53","date_gmt":"2022-09-15T03:16:53","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/"},"modified":"2022-09-15T08:46:53","modified_gmt":"2022-09-15T03:16:53","slug":"solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/","title":{"rendered":"[Solved] If abstract base class contains parameterised constructor (and derived does not) why can&#8217;t it be used? [duplicate]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-36781561\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"36781561\" data-parentid=\"36781453\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>No, you can&#8217;t.<\/p>\n<p>It&#8217;s a limitation that says &#8216;each derived class should use (implicitly or explicitly) at least one constructor from base class.<\/p>\n<p>In your example, your child class implicitly has parameterless constructor which implicitly uses parameterless constructor from base.<\/p>\n<p>So, you need to: either setup parameretised constructor in every derived class or delele this constructor from base class.<\/p>\n<p>Or, you can try something like that:<\/p>\n<pre><code>public class AttributeOption : DomainModelBase&lt;AttributeOptionData&gt;\n{\n    public AttributeOption(AttributeOptionData data) : base(data) { }\n}\n<\/code><\/pre>\n<p>That&#8217;s not what you exactly want, but that what we have. <\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved If abstract base class contains parameterised constructor (and derived does not) why can&#8217;t it be used? [duplicate] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] No, you can&#8217;t. It&#8217;s a limitation that says &#8216;each derived class should use (implicitly or explicitly) at least one constructor from base class. In your example, your child class implicitly has parameterless constructor which implicitly uses parameterless constructor from base. So, you need to: either setup parameretised constructor in every derived class or delele &#8230; <a title=\"[Solved] If abstract base class contains parameterised constructor (and derived does not) why can&#8217;t it be used? [duplicate]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/\" aria-label=\"More on [Solved] If abstract base class contains parameterised constructor (and derived does not) why can&#8217;t it be used? [duplicate]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324,528,825,559,527],"class_list":["post-8750","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-constructor","tag-domain-driven-design","tag-generics","tag-inheritance"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] If abstract base class contains parameterised constructor (and derived does not) why can&#039;t it be used? [duplicate] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] If abstract base class contains parameterised constructor (and derived does not) why can&#039;t it be used? [duplicate] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] No, you can&#8217;t. It&#8217;s a limitation that says &#8216;each derived class should use (implicitly or explicitly) at least one constructor from base class. In your example, your child class implicitly has parameterless constructor which implicitly uses parameterless constructor from base. So, you need to: either setup parameretised constructor in every derived class or delele ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-15T03:16:53+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] If abstract base class contains parameterised constructor (and derived does not) why can&#8217;t it be used? [duplicate]\",\"datePublished\":\"2022-09-15T03:16:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/\"},\"wordCount\":120,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\",\"constructor\",\"domain-driven-design\",\"generics\",\"inheritance\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/\",\"name\":\"[Solved] If abstract base class contains parameterised constructor (and derived does not) why can't it be used? [duplicate] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-15T03:16:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] If abstract base class contains parameterised constructor (and derived does not) why can&#8217;t it be used? [duplicate]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] If abstract base class contains parameterised constructor (and derived does not) why can't it be used? [duplicate] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] If abstract base class contains parameterised constructor (and derived does not) why can't it be used? [duplicate] - JassWeb","og_description":"[ad_1] No, you can&#8217;t. It&#8217;s a limitation that says &#8216;each derived class should use (implicitly or explicitly) at least one constructor from base class. In your example, your child class implicitly has parameterless constructor which implicitly uses parameterless constructor from base. So, you need to: either setup parameretised constructor in every derived class or delele ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/","og_site_name":"JassWeb","article_published_time":"2022-09-15T03:16:53+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] If abstract base class contains parameterised constructor (and derived does not) why can&#8217;t it be used? [duplicate]","datePublished":"2022-09-15T03:16:53+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/"},"wordCount":120,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","constructor","domain-driven-design","generics","inheritance"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/","url":"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/","name":"[Solved] If abstract base class contains parameterised constructor (and derived does not) why can't it be used? [duplicate] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-15T03:16:53+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-if-abstract-base-class-contains-parameterised-constructor-and-derived-does-not-why-cant-it-be-used-duplicate\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] If abstract base class contains parameterised constructor (and derived does not) why can&#8217;t it be used? [duplicate]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/8750","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=8750"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/8750\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=8750"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=8750"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=8750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}